根据类别更改页面模板

时间:2012-05-31 作者:daniel.tosaba

如何在页面模板中显示具有特定类别的帖子,而不是显示默认类别模板。

例如,我想用页面模板(“page.php”)显示“Scott”类别下的所有帖子。

2 个回复
最合适的回答,由SO网友:mrwweb 整理而成

我很确定你也可以通过过滤做你想做的事template_include. 这是未经测试的,但也许这可以让你朝着正确的方向前进:

function wpse53871( $template ) {
    global $post;
    // check if is a Post and in the \'scott\' category
    if( is_single( $post->ID ) && has_category( \'scott\', $post ) ) {
        return get_template_part( \'page\' );
    } else {
        return $template;
    }
}
add_filter( \'locate_template\', \'wpse52871\' );
这是another example 使用中的过滤器。

Additional

您还可以将过滤器添加到single_template

add_filter( \'single_template\', \'wpse53871\' );

SO网友:user1337

有两种不同类型的内容:1。页码http://codex.wordpress.org/Pages2、岗位

类别仅适用于职位。http://codex.wordpress.org/Category_Templates

如果使用的是页面,则需要创建父页面和子页面。http://codex.wordpress.org/Pages#Organizing_Your_Pages

如果您有一个页面,并且希望在其中列出类别,则可以将“列出类别”功能添加到页面模板中http://codex.wordpress.org/Template_Tags/wp_list_categories

此外,我不会修改页面。php除非你真的想,否则我会创建一个自定义页面模板http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

结束

相关推荐