wordpress获取某一篇文章所在分类的子分类

要获取某篇文章所在分类的子分类,可以首先通过 get_the_category() 获取文章的分类 ID,然后再根据该分类的 ID 获取子分类。

以下是一个示例代码:

$post_id = 123; // 文章的 ID
$categories = get_the_category($post_id);

if (!empty($categories)) {
    $parent_category_id = $categories[0]->term_id; // 获取文章的第一个分类的 ID
    $taxonomy = 'category'; // 分类的 taxonomy,通常是 'category'

    $args = array(
        'taxonomy'     => $taxonomy,
        'parent'        => $parent_category_id,
        'hide_empty'    => false, // 是否排除没有文章的分类
    );

    $subcategories = get_terms($args);

    if (!empty($subcategories) && !is_wp_error($subcategories)) {
        foreach ($subcategories as $subcategory) {
            echo '子分类名称: ' . $subcategory->name . '<br>';
            echo '子分类链接: ' . get_term_link($subcategory) . '<br>';
        }
    } else {
        echo '没有找到子分类。';
    }
} else {
    echo '文章没有分类。';
}

说明:

  • get_the_category($post_id) 获取文章所属的分类。如果文章属于多个分类,它会返回一个分类数组,这里我们使用了第一个分类的 ID($categories[0]->term_id)。
  • 然后,使用该分类 ID 查询其子分类,get_terms() 返回该分类下的子分类列表。

这段代码假设文章有至少一个分类,并且你希望基于第一个分类获取子分类。如果文章有多个分类,你可以根据需求修改代码,选择不同的分类来获取子分类。

本文为“技术点滴”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注