您需要使用get_ancestors()
.
假设您的帖子只在一个类别中,那么下面的代码应该可以工作(如果它是多个类别,那么您需要遍历每个指定的类别来确定不同的层次结构)。
$category = get_the_category();
$ancestors = get_ancestors( $category[0]->term_id, \'category\' );
$direct_parent_id = $ancestors[0];
如果要将整个类别层次结构作为ID的有序数组(我希望有可用的ID)获取,可以执行以下操作:
$category = get_the_category();
$hierarchy = array_reverse( get_ancestors( $category[0]->term_id, \'category\' ) );
$hierarchy[] = $category[0]->term_id;