从帖子中获取第一个父类别ID

时间:2012-12-03 作者:dodgerogers

我的类别有以下结构:

Issue 4
       - News
           - Supporting our troops
           - Breaking news

<?php
$category = get_the_category();
$parent = $category[0]->term_id;
?>
这段代码从第4期的“突发新闻”中获取顶级类别ID,遗漏了新闻的直接父类别。

如何获取“新闻”的类别ID、其直接父类别而非顶级类别?

1 个回复
最合适的回答,由SO网友:ggutenberg 整理而成

您需要使用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;

结束

相关推荐

如何检查数组值,WP_QUERY给我带来了什么?

我连续有两个问题:如何检查数组值,什么WP_Query 给我带来了什么</如果我在cat=3中得到10篇帖子,那么我只想从中得到5篇,然后想在我想打印的任何地方单独回应它们</可能是这样的: ------------------- | 1 | 2 | ------------------- | 3 | 4 | ------------------- | 5 | ------------------- 但这两个问