创建单独的自定义帖子类型分类存档页面

时间:2016-08-06 07:54:13

标签: php wordpress

我目前正在使用archive.php作为类别,标签,作者等的通用列表。我的主题有4种自定义帖子类型,我希望每种帖子类型都有单独的存档模板。

如何为每个自定义帖子类型添加单独的存档模板?

我有一个代码,但没有工作是否我缺少一些东西?

add_filter( 'template_include', 'wpsites_cpt_archive_page_template', 99 );

 function wpsites_cpt_archive_page_template( $template ) {

if ( is_post_type_archive(array( first-post-type ) ) ) {
    $new_template = locate_template( array( 'your-cpt-template.php' ) );
    if ( '' != $new_template ) {
        return $new_template ;
    }
}

return $template;
}

2 个答案:

答案 0 :(得分:1)

结帐wordpress template files文档,

您不需要使用条件来分隔帖子类型模板,

您只需创建archive-{your-post-type}.php文件,即可为每种帖子类型设置不同的存档模板。

用于分类;

taxonomy-{taxonomy}-{term}.php
taxonomy-{taxonomy}.php
tag-{slug}.php
tag-{id}.php
category-{slug}.php
category-{ID}.php

此外,如果您的主题支持Genesis Framework等标准循环挂钩,您可以使用条件来构建自定义循环,具体取决于Post类型。

答案 1 :(得分:0)

假设您有自定义帖子类型(CTP).. cpt1,cpt2,cpt3 ......

然后您只需要分别创建归档模板文件 archive-cpt1.php archive-cpt2.php archive-cpt3.php