你是对的,单身。php模板没有任何与之关联的类别。您需要首先获取该帖子的类别。
Single Category
$category = get_the_category();
$cat_name = $category[0]->cat_name;
if ( $cat_name == \'Members\' ) {
get_template_part( \'content\', \'members\' );
} else {
get_template_part( \'content\', \'common\' );
}
这里需要注意的一点是:这只获取与帖子相关的第一个类别。如果帖子属于多个类别,并且“成员”不是列表中的第一个类别,那么帖子将不会使用正确的模板。
Multiple Categories
如果您想将其用于多个类别,则需要遍历它们并寻找正确的类别。
$categories = get_the_category();
$cat_exists = false;
foreach($categories as $category) {
if( $category->name == \'Members\' ) {
$cat_exists = true;
break;
}
}
if ( $cat_exists ) {
get_template_part( \'content\', \'members\' );
} else {
get_template_part( \'content\', \'common\' );
}