WordPress开发笔记

WordPress获取指定分类法(Taxonomy)下的顶级分类(即没有父分类的分类)

在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 '没有找到分类';
}

代码说明:

  1. $taxonomy: 指定你要获取的分类法名称,例如默认的文章分类 category,或者自定义的分类法名称。
  2. parent: 设置为 0 表示获取顶级分类(没有父分类的分类)。
  3. hide_empty: 设置为 false 表示即使分类下没有文章也返回该分类。如果设置为 true,则只返回有文章的分类。
  4. get_terms(): 获取分类法下的分类项。
  5. is_wp_error(): 检查是否有错误发生。
  6. foreach: 遍历获取到的分类项并输出分类名称。

示例输出:

假设你有以下分类结构:

  • 新闻(顶级分类)
  • 国内新闻
  • 国际新闻
  • 科技(顶级分类)
  • 人工智能
  • 区块链

运行上述代码后,输出将是:

- 新闻
- 科技

注意事项:

  • 如果你使用的是自定义分类法,请确保 $taxonomy 变量设置为正确的分类法名称。
  • 如果分类法下没有分类,或者所有分类都是子分类,get_terms() 将返回空数组。

希望这段代码对你有帮助!