您需要使用template_include
过滤器,是所有模板包含的通用过滤器。
add_filter( \'template_include\', \'my_plugin_templates\' );
function my_plugin_templates( $template ) {
$post_types = array( \'project\' );
if ( is_post_type_archive( $post_types ) && ! file_exists( get_stylesheet_directory() . \'/archive-project.php\' ) )
$template = \'path/to/list/template/in/plugin/folder.php\';
if ( is_singular( $post_types ) && ! file_exists( get_stylesheet_directory() . \'/single-project.php\' ) )
$template = \'path/to/singular/template/in/plugin/folder.php\';
return $template;
}
我还没有完全测试post类型存档位,您可能需要使用
is_tax( $taxonomies )
使其在关联的自定义分类法归档上工作。