个性化阅读
专注于IT技术分析

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' );

还有本节, 关于有效地将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;
}
赞(0)
未经允许不得转载:srcmini » WordPress-在插件中首先检查page.php

评论 抢沙发

评论前必须登录!