Get top parent category

时间:2015-04-25 作者:medk

我的类别结构如下:

- Top Category
---- Sub Category 1
------- Sub Sub Category 1.1
------- Sub Sub Category 1.2
------- Sub Sub Category 1.3
---- Sub Category 2
------- Sub Sub Category 2.1
------- Sub Sub Category 2.2
------- Sub Sub Category 2.3
我的职位低于1.2,因此:

Top Category -> Sub Category 1 -> Sub Sub Category 1.2 -> Current Post
注意:在帖子中,仅选择“子类别1”和“子类别1.2”作为类别(“顶级类别”未选中)。

现在,我如何获得顶级类别(“顶级类别”)的slug,向后导航?

谢谢

2 个回复
SO网友:thebigtine

get_ancestors() 返回包含任何给定对象的父对象的数组。

此示例有两个类别。id为447的父级和id为448的子级,并返回a类别层次结构(id为):

get_ancestors( 448, \'category\' ); 
返回值:

Array
(
    [0] => 447
) 

get_ancestors Codex Page

SO网友:geokha29

get_ancestors()

是按层次顺序获取特定类别的所有父类别的正确方法,因此要获取最高级别的父类别,可以提取返回的数组的最后一项,如下所示:

// getting all the ancestors of the categories 
$ancestor_cat_ids = get_ancestors( $queried_cat_id, \'category\');

// getting the last item of the array of ids returned by the get_ancestors() function
$highest_ancestor = $ancestor_cat_ids[count($ancestor_cat_ids) - 1];

结束

相关推荐

GET_CATEGORIES上的用户定义顺序?

下面是一些将特定类别调用到我们的首页帖子循环的基本代码。它工作正常,只是我的客户希望类别按特定顺序显示。我知道互联网上还有其他关于这一点的帖子,但我没有看到任何像我的客户所问的那样解决这一问题的帖子。我可以接受下面代码中创建的$categories变量,并将这些对象调用到一个新数组中吗?在这种情况下,所有对象前面都有一个数字,如:[0] => values [1] => values [2] => values .... 输出转储时。我可以把输出结果按我