使用父级分类调用子分类,构建复杂导航

function get_woocommerce_category_children($atts) {
    ob_start();

    // 获取父级分类ID
    $atts = shortcode_atts( array(
        'parent' => '',
    ), $atts );

    $parent_id = $atts['parent'];

    // 检查是否提供了父级分类ID
    if (empty($parent_id)) {
        return;
    }

    // 获取父级分类对象
    $parent_cat = get_term($parent_id, 'product_cat');

    // 获取父级分类下的子分类
    $child_args = array(
        'taxonomy' => 'product_cat',
        'child_of' => $parent_id,
        'hide_empty' => false,
    );
    $child_cats = get_categories($child_args);

    // 输出子分类链接和文字
    if (!empty($child_cats)) {
        echo '<ul>';

        foreach ($child_cats as $child_cat) {
            echo '<li><a href="' . get_category_link($child_cat) . '">' . $child_cat->name . '</a></li>';
        }

        echo '</ul>';
    }

    $output = ob_get_clean();
    return $output;
}
add_shortcode('subcategories', 'get_woocommerce_category_children');

短代码调用:


[subcategories parent="父级分类id"]