WordPress 支持设定多级分类,如果你需要在页面中展示最顶级的分类,则需要获取到最顶级的分类,具体实现的方式如下:
1. 获取当前文件类型的自定义分类
使用如下代码获取到自定义分类
$tax = wp_get_post_terms($post->ID,array('part'))
Code language: PHP (php)
获得的结果如下
Array
(
[0] => WP_Term Object
(
[term_id] => 7
[name] => 目录1
[slug] => category1
[term_group] => 0
[term_taxonomy_id] => 7
[taxonomy] => part
[description] =>
[parent] => 6
[count] => 2
[filter] => raw
)
)
Code language: PHP (php)
这里的 term_id 则代表你设定的自定义分类的 ID
2.获取分类树
因为分类是多级的,我们需要找到祖先节点,因此需要用到函数 get_ancestors
,执行如下代码
$tree = get_ancestors($tax[0]->term_id)
Code language: PHP (php)
会获得如下结果
Array
(
[0] => 6
[1] => 8
)
Code language: PHP (php)
这个返回结果则是从你当前分类向上查找,查找到最顶级的分类的结果。需要注意的是,这个数组的最后一个元素才是你最终最顶级的分类。
3. 提取最后一个元素的 ID
当你知道了最后一个才是最顶级的分类,只需要使用 end()
函数来获取最后一个。
end($tree)
Code language: PHP (php)
这样,就能拿到最终目录的 ID,接下来要做的就是在你的界面上展示这些数据。