是否可以让WordPress首先查看插件目录, 并且如果系统找到该页面, 例如page.php, archive.php, single.php …
显示插件文件的布局, 而不查看主题文件?
#1绝对!看一下single_template和archive_template过滤器。它们相对简单易用:
function get_custom_post_type_template($single_template) {
global $post;
if ($post->
post_type == 'my_post_type') {
$single_template = dirname( __FILE__ ) . '/post-type-template.php';
}
return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );
【WordPress-在插件中首先检查page.php】还有本节, 关于有效地将single-post_type.php添加到Template Hierarchy中, 但是我更喜欢一个稍微修改的版本, 使IMO更易于阅读:
add_filter( 'single_template', 'my_single_templates' );
function my_single_templates( $single_template ){
global $post;
$file = '/my/path/to/templates/dir/'. $post->
post_type .'/single-'. $post->
post_type .'php';
if( file_exists( $file ) )
$single_template = $file;
return $single_template;
}
推荐阅读
- WordPress(在我的索引页(主页)中修复了太多链接的.CSS文件)
- WordPress的文件functions.php没有加载style.css
- WordPress-特色图片
- 更新wordpress和插件后WordPress错误
- wordpress增强媒体库查询的图像未与polylang一起出现
- WordPress的脱机编辑主题
- 手心输入法恢复默认设置办法
- QQ拼音即时翻译技巧设置图文步骤
- QQ全拼输入法怎样隐藏状态栏