2017-07-14 37 views
0

我試圖讓子類別的子類別的產品類別如何顯示在woocommerce子子類別WordPress的

<?php 

    $taxonomy  = 'product_cat'; 
    $orderby  = 'name'; 
    $show_count = 0;  // 1 for yes, 0 for no 
    $pad_counts = 0;  // 1 for yes, 0 for no 
    $hierarchical = 1;  // 1 for yes, 0 for no 
    $title  = ''; 
    $empty  = 0; 
$args = array(
     'taxonomy'  => $taxonomy, 
     'orderby'  => $orderby, 
     'show_count' => $show_count, 
     'pad_counts' => $pad_counts, 
     'hierarchical' => $hierarchical, 
     'title_li'  => $title, 
     'hide_empty' => $empty 
); 
$all_categories = get_categories($args); 
foreach ($all_categories as $cat) { 
    if($cat->category_parent == 0) { 

     $category_id = $cat->term_id; 

     $args2 = array(
       'taxonomy'  => $taxonomy, 
       'child_of'  => 0, 
       'parent'  => $category_id, 
       'orderby'  => $orderby, 
       'show_count' => $show_count, 
       'pad_counts' => $pad_counts, 
       'hierarchical' => $hierarchical, 
       'title_li'  => $title, 
       'hide_empty' => $empty 
    ); 

    $sub_cats = get_categories($args2); 

    if($sub_cats) { 
     echo '<li class="title '.$cat->name.'"><a > 
      '; 
     echo $cat->name ; 
     echo '<i class="chevron right icon"></i> 
     </a></li>'; 
     $sub_cats = ""; 
    }else { 
     echo '<li class="titleVide '.$cat->name.'Hide"><a > 
      '; 
     echo $cat->name ; 
     echo '</a></li>'; 
     $sub_cats = ""; 
    } 


     $args2 = array(
       'taxonomy'  => $taxonomy, 
       'child_of'  => 0, 
       'parent'  => $category_id, 
       'orderby'  => $orderby, 
       'show_count' => $show_count, 
       'pad_counts' => $pad_counts, 
       'hierarchical' => $hierarchical, 
       'title_li'  => $title, 
       'hide_empty' => $empty 
    ); 
     $sub_cats = get_categories($args2); 
     if($sub_cats) { 

     echo '<li class="content"> <p>'; 
      foreach($sub_cats as $sub_category) { 

      echo ' 
       <a href="'. get_term_link($sub_category->slug, "product_cat") .'">'. $sub_category->name . '</a> 
      '; 


      } 

      echo ' </p></li>'; 
     } else { 
    echo ''; 
     } 

     $sub_cats = ""; 
    }  
} /* end foreach all_categories cat */ 

wp_reset_query(); 
?> 

此代碼列表中的所有下他們的頂級類別和子類別層次,但我的子類別子類別(子子類別),所以我如何列出這些子子類別(帶clic)。

Categories IN BO

List categories in FO

回答

0

通過使用child_of =當前類目ID

<?php 
    $taxonomy  = 'product_cat'; 
    $orderby  = 'name'; 
    $show_count = 0;  // 1 for yes, 0 for no 
    $pad_counts = 0;  // 1 for yes, 0 for no 
    $hierarchical = 1;  // 1 for yes, 0 for no 
    $title  = ''; 
    $empty  = 0; 
    $args = array(
      'taxonomy'  => $taxonomy, 
      'orderby'  => $orderby, 
      'show_count' => $show_count, 
      'pad_counts' => $pad_counts, 
      'hierarchical' => $hierarchical, 
      'title_li'  => $title, 
      'hide_empty' => $empty 
    ); 
    $all_categories = get_categories($args); 
    foreach ($all_categories as $cat) { 
     if($cat->category_parent == 0) { 

      $category_id = $cat->term_id; 

      $args2 = array(
        'taxonomy'  => $taxonomy, 
        'child_of'  => 0, 
        'parent'  => $category_id, 
        'orderby'  => $orderby, 
        'show_count' => $show_count, 
        'pad_counts' => $pad_counts, 
        'hierarchical' => $hierarchical, 
        'title_li'  => $title, 
        'hide_empty' => $empty 
     ); 

     $sub_cats = get_categories($args2); 

     if($sub_cats) { 
      echo '<li class="title '.$cat->name.'"><a > 
       '; 
      echo $cat->name ; 
      echo '<i class="chevron right icon"></i> 
      </a></li>'; 
      $sub_cats = ""; 
     }else { 
      echo '<li class="titleVide '.$cat->name.'Hide"><a > 
       '; 
      echo $cat->name ; 
      echo '</a></li>'; 
      $sub_cats = ""; 
     } 


      $args2 = array(
        'taxonomy'  => $taxonomy, 
        'child_of'  => $category_id, 
        'orderby'  => $orderby, 
        'show_count' => $show_count, 
        'pad_counts' => $pad_counts, 
        'hierarchical' => $hierarchical, 
        'title_li'  => $title, 
        'hide_empty' => $empty 
     ); 
      $sub_cats = get_categories($args2); 
      if($sub_cats) { 

      echo '<li class="content"> <p>'; 
       foreach($sub_cats as $sub_category) { 

       echo ' 
        <a href="'. get_term_link($sub_category->slug, "product_cat") .'">'. $sub_category->name . '</a> 
       '; 


       } 

       echo ' </p></li>'; 
      } else { 
     echo ''; 
      } 

      $sub_cats = ""; 
     }  
    } /* end foreach all_categories cat */ 

    wp_reset_query(); 

?> 

嘗試此以下代碼或使用wp_list_categories()函數用於列出 https://developer.wordpress.org/reference/functions/wp_list_categories/

類別
相關問題