WordPress-插件中的第一个check page.php

时间:2019-02-06 18:08:44

标签: wordpress wordpress-theming

是否可以让WordPress首先查看插件目录,并且如果系统找到该页面,例如page.php,archive.php,single.php ...显示插件文件的布局,而不查看主题文件?

1 个答案:

答案 0 :(得分:1)

绝对!看一下single_templatearchive_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' );

还有This Section可以有效地将single-post_type.php添加到模板层次结构中,但是我更喜欢经过稍微修改的版本,使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;
}