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

Php 如何获取所有类别和子类别?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我想获得所有woocommerce类别的子类别,但最大为三级,例如: 主要类别 主目录的第一个子类别 主目录的第二子类别 第二类的第一子类 主目录的第三子类别 主目录的第四子类别 第四类的第一子类 第四个第一子类别的第一个子类别------此子类别不应显示 第四个第一子类别的第二个子类别------此子类别不应显示 $args=array( “分类法”=>“产品分类”, “hide

我想获得所有woocommerce类别的子类别,但最大为三级,例如:

  • 主要类别
    • 主目录的第一个子类别
    • 主目录的第二子类别
      • 第二类的第一子类
    • 主目录的第三子类别
    • 主目录的第四子类别
      • 第四类的第一子类
        • 第四个第一子类别的第一个子类别------此子类别不应显示
        • 第四个第一子类别的第二个子类别------此子类别不应显示
$args=array(
“分类法”=>“产品分类”,
“hide_empty”=>false,
“父项”=>0
);
$product\U cat=获取条款($args);
foreach($product\U cat作为$parent\U product\U cat){
echo'
    • ; $child_args=数组( “分类法”=>“产品分类”, “hide_empty”=>false, “父项”=>$parent\u product\u cat->term\u id ); $child\u product\u cats=获取条款($child\u args); foreach($child\u product\u cat作为$child\u product\u cat){ 回音“
      • ”; $child2_args=数组( “分类法”=>“产品分类”, “hide_empty”=>false, “父项”=>$child\u product\u cat->term\u id ); $child2\u product\u cats=获取条款($child2\u args); foreach($child2\u产品\u猫作为$child2\u产品\u猫){ 回音“
      ”; } } 回音“
”; }
上面的代码适用于所有子类别,我只需要主类别->主类别的子类别->子类别的子类别,仅此而已

    $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>';
    }