我正在尝试获取Wordpress中当前帖子的类别: 我遇到的问题是我正在尝试检查Wordpress帖子是否设置了多个父类别。
我目前的代码是:
if (!empty($categories)) {
// This Category has children
$firstcategoryarray = (array) get_the_category($post_id)[1];
} else {
$firstcategoryarray = (array) get_the_category($post_id)[0];
}
此代码允许我检查帖子是否有一个或多个类别/子类别。但是,它不区分子类别和类别。
有没有办法检查帖子是否有2个或更多类别?
答案 0 :(得分:0)
这种逻辑的想法是,当你调用get_the_category()
时,它会返回一个WP_Term对象数组。使用foreach语句循环遍历数组。 WP_Term对象有一些属性。其中一个是$parent
,它指的是父词id。如果该术语为0则可以说它是一个顶级术语。
$categories = get_the_category($post_id);
$topLevelCategoryCount = 0;
foreach ($categories as $category){
if ($category->parent == 0){
//This category is top level
$topLevelCategoryCount ++;
}
}
if ($topLevelCategoryCount > 1) {
//This post has more than one top level
// Do Stuff
}
参考: