根据自定义端口类型的自定义分类,尝试为自定义帖子类型创建多个单个自定义模板。
例如:当帖子有某个类别时,它会使用不同的模板,而不是默认的单一自定义帖子类型名称.php
这是我到目前为止所尝试的。但它似乎没有奏效。而我认为这是因为我在CPT上尝试这个。
add_filter('single_template', create_function(
'$the_template',
'foreach( (array) get_the_category() as $cat ) {
if ( file_exists(TEMPLATEPATH . "/single-{$cat->slug}.php") )
return TEMPLATEPATH . "/single-{$cat->slug}.php"; }
return $the_template;' )
);
答案 0 :(得分:0)
在myposttype-single.php(你的帖子类型的slug)文件中的exaple循环:
while (have_posts()) : the_post();
$category = get_the_category();
$firstCategory = $category[0]->cat_name;
if ( $firstCategory === 'yourcategoryname' ){
get_template_part( 'partials/myposttype', 'specialcat' );
} else {
get_template_part( 'partials/myposttype', 'default' );
}
endwhile;
如果该帖子的第一个类别名称为“yourcategoryname”,则会采用特殊模板,而不是默认模板。