我目前正在使用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;
}
答案 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 。