使用父级分类调用子分类,构建复杂导航
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"]