如何获取所有WooCommerce类别和子类别?

时间:2020-10-30 10:45:23

标签: php wordpress woocommerce

我想获取所有带有子类别的woocommerce类别,但最大到三度,例如:

  • 主要类别
    • Main的第一子类别
    • Main的第二个子类别
      • 第二个第一子类别
    • Main的第三子类别
    • Main的第四子类别
      • 第四类的第一子类
        • 第四名的第一个子类别------此人不应该显示!
        • 第四名的第二个子类别------不应显示该人!
    $args = array(
        'taxonomy' => 'product_cat',
        'hide_empty' => false,
        'parent'   => 0
    );
    $product_cat = get_terms( $args );
    foreach ($product_cat as $parent_product_cat) {
        echo    '<ul class="nav-menu__cats"><li><a href="'.get_term_link($parent_product_cat->term_id).'">' .$parent_product_cat->name. '</a><ul>';
    $child_args = array(
            'taxonomy' => 'product_cat',
            'hide_empty' => false,
            'parent'   => $parent_product_cat->term_id
    );
    $child_product_cats = get_terms( $child_args );
    
    foreach ($child_product_cats as $child_product_cat) {
        echo    '<li><a href="'.get_term_link( $child_product_cat->term_id ).'">' .$child_product_cat->name. '</a></li><ul>';
            $child2_args = array(
                    'taxonomy' => 'product_cat',
                    'hide_empty' => false,
                    'parent'   => $child_product_cat->term_id
            );
            $child2_product_cats = get_terms( $child2_args );
            foreach ($child2_product_cats as $child2_product_cat) {
                echo    '<li><a href="'.get_term_link( $child2_product_cat->term_id ).'">' .$child2_product_cat->name. '</a></li></ul>';
            }
    }

    echo        '</ul></li></ul>';
    }

以上代码可以使用,但适用于所有子类别,我只需要Main Category-> Main的子类别-> subcategory的子类别,仅此而已。

0 个答案:

没有答案