在 WordPress 中调用指定分类下的二级子分类及三级子子分类,可借助一些函数和方法来实现,下面为你详细介绍不同的实现方式。

方法一:使用get_categories函数


get_categories函数可获取分类列表,通过设置参数来筛选出指定分类下的二级和三级分类。以下是示例代码,你可以将其添加到主题模板文件(如category.php)中:
收起
php
<?php
// 指定父分类的ID,需替换为实际的分类ID
$parent_cat_id = 1;

// 获取二级子分类
$second_level_cats = get_categories(array(
    'parent' => $parent_cat_id,
    'hide_empty' => false
));

if ($second_level_cats) {
    echo '<ul>';
    foreach ($second_level_cats as $second_level_cat) {
        echo '<li><a href="'. get_category_link($second_level_cat->term_id). '">'. $second_level_cat->name. '</a></li>';

        // 获取该二级分类下的三级子子分类
        $third_level_cats = get_categories(array(
            'parent' => $second_level_cat->term_id,
            'hide_empty' => false
        ));

        if ($third_level_cats) {
            echo '<ul>';
            foreach ($third_level_cats as $third_level_cat) {
                echo '<li><a href="'. get_category_link($third_level_cat->term_id). '">'. $third_level_cat->name. '</a></li>';
            }
            echo '</ul>';
        }
    }
    echo '</ul>';
}
?>

代码解释:

 
  1. 指定父分类 ID$parent_cat_id变量用于指定要获取子分类的父分类 ID,你需要将其替换为实际的分类 ID。
  2. 获取二级子分类:使用get_categories函数,通过parent参数指定父分类 ID,hide_empty设置为false表示获取所有分类,包括没有文章的分类。
  3. 循环输出二级子分类:遍历二级子分类数组,使用get_category_link函数获取分类链接,并输出分类名称。
  4. 获取并输出三级子子分类:在二级子分类的循环中,再次使用get_categories函数获取该二级分类下的三级子子分类,并输出。

方法二:使用wp_list_categories函数


wp_list_categories函数可以更简洁地输出分类列表,通过设置参数来实现获取指定分类下的二级和三级分类。示例代码如下:
收起
php
<?php
// 指定父分类的ID,需替换为实际的分类ID
$parent_cat_id = 1;

// 输出二级子分类
wp_list_categories(array(
    'child_of' => $parent_cat_id,
    'depth' => 2, // 显示到二级分类
    'hide_empty' => false,
    'title_li' => ''
));
?>

代码解释:

 
  • 指定父分类 ID:同样需要将$parent_cat_id替换为实际的分类 ID。
  • wp_list_categories参数设置
    • child_of:指定父分类 ID,获取该分类下的所有子分类。
    • depth:设置显示的分类层级,2表示显示到二级分类。
    • hide_empty:设置为false表示获取所有分类,包括没有文章的分类。
    • title_li:设置为''表示不显示列表标题。

通过以上两种方法,你可以方便地调用指定分类下的二级子分类及三级子子分类。