获得帖子的第一类?

时间:2018-04-01 23:11:31

标签: wordpress

我正在尝试获取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个或更多类别?

1 个答案:

答案 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
}

参考:

Wordpress Code reference get_the_category()

Wordpress Code reference WP_Term Object