要获取某篇文章所在分类的子分类,可以首先通过 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 版权协议,转载请附上原文出处链接及本声明。