WordPress-在插件中首先检查page.php

是否可以让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; }

    推荐阅读