我目前使用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;
}
checkout wordpress模板文件docs,
你不需要使用条件词来分离post-type模板,
您可以简单地创建archive-{your-post-type}.php
文件,为每个帖子类型提供不同的归档模板。
用于分类学;
分类学-{taxonomy}-{term}.phptaxonom-{taxonomy}.phptag-{slug}.phptag-{id}.phpcategory-{slug}.phpcategory-{ID}.php
此外,如果您的主题支持Genesis Framework等标准循环挂钩,则可以根据Post类型使用条件来构建自定义循环。
假设您有自定义的帖子类型(CTP(。。cpt1、cpt2、cpt3。。。
然后,您只需要像那样分别创建归档模板文件archive-cpt1.php,归档-cpt2.phprchive-cct3.php.