在WordPress中,如果你想获取指定分类法(Taxonomy)下的顶级分类(即没有父分类的分类),可以使用 get_terms() 函数。以下是一个示例代码:
$taxonomy = 'category'; // 替换为你的分类法名称,例如 'category' 或自定义分类法
$args = array(
'taxonomy' => $taxonomy,
'parent' => 0, // 获取顶级分类
'hide_empty' => false, // 是否隐藏空分类,true 为隐藏,false 为不隐藏
);
$terms = get_terms($args);
if (!is_wp_error($terms) && !empty($terms)) {
foreach ($terms as $term) {
echo '<li>' . $term->name . '</li>'; // 输出分类名称
}
} else {
echo '没有找到分类';
}
代码说明:
$taxonomy: 指定你要获取的分类法名称,例如默认的文章分类category,或者自定义的分类法名称。parent: 设置为0表示获取顶级分类(没有父分类的分类)。hide_empty: 设置为false表示即使分类下没有文章也返回该分类。如果设置为true,则只返回有文章的分类。get_terms(): 获取分类法下的分类项。is_wp_error(): 检查是否有错误发生。foreach: 遍历获取到的分类项并输出分类名称。
示例输出:
假设你有以下分类结构:
- 新闻(顶级分类)
- 国内新闻
- 国际新闻
- 科技(顶级分类)
- 人工智能
- 区块链
运行上述代码后,输出将是:
- 新闻
- 科技
注意事项:
- 如果你使用的是自定义分类法,请确保
$taxonomy变量设置为正确的分类法名称。 - 如果分类法下没有分类,或者所有分类都是子分类,
get_terms()将返回空数组。
希望这段代码对你有帮助!

