目前,我使用以下两部分解决方案来获取帖子的顶级类别ID。
在functions.php中:
function get_top_level_cat_id ($catid) {
while ($catid) {
$cat = get_category($catid);
$catid = $cat->category_parent;
$catparent = $cat->cat_ID; }
return $catparent; }
在single.php中:
$category = get_the_category($post->ID);
$catid = $category[0]->cat_ID;
$top_level_cat_id = get_top_level_cat_id ($catid);
if ($top_level_cat_id == 1) {$type_it = "Top Level Category ID is 1";}
else {$type_it = "Top Level Category ID is not 1";}
echo $type_it;
它有效,但在我的情况下使用functions.php不是一个好的决定。将函数(它应该驻留在functions.php中的方式)放入single.php中可以预见地破坏输出。
是否有任何解决方案允许在输出当前帖子的顶级类别ID时跳过使用functions.php?