您可以检查当前类别是否是博客类别的子类别cat_is_ancestor_of()
功能或term_is_ancestor_of()
, 或者更好,使用in_category()
, 正如您当前所做的,但也要检查子类别。
add_filter( \'single_template\', \'get_custom_cat_template\' ) ;
function get_custom_cat_template( $single_template ) {
// You want to filter only template for single posts of default post type
if( is_singular( \'post\' ) ) {
$post = get_queried_object();
// Replace \'3\' with the ID of the \'blog\' category
$child_blog_categories = get_term_children( \'3\', \'category\' );
if ( in_category( \'blog\', $post ) || in_category( $child_blog_categories, $post ) ) {
$single_template = locate_template( \'single-blog.php\' );
}
}
return $single_template;
}
无论如何,我认为如果您看到自己创建了一个帖子类别,以不同的方式管理该类别中的帖子,那么您可能需要查看自定义帖子类型。