dongzuoyue6556 2017-08-26 12:53
浏览 88
已采纳

woocommerce的子类别无法正确显示

Can you please tell me what's wrong with this code ? I can view categories but the subcategories comes as the name of categories .

$orderby      = 'name';
$empty        = 0;

$args = array(
    'orderby'      => $orderby,
    'show_count'   => $show_count,
    'hide_empty'   => $empty,
);
$all_categories = get_terms( 'product_cat', $args );

$html = '';
if (count($all_categories))
{
    $array = $all_categories;
    foreach($all_categories as $category)
    {
        if($category->parent == 0)
        {
            $html .= '<div class="checkbox"><label><input type="checkbox" class="product-cageories" value="'.$category->term_id.'"> '.$category->name.'</label></div>';
            $j = 0;
            foreach($array as $index => $child)
            {
                if($child->parent == $category->term_id)
                {                           
                    $html .= '<div class="checkbox"><span class="pull-left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><label><input type="checkbox" class="product-cageories" value="'.$category->term_id.'"> '.$category->name.'</label></div>';
                    unset($array[$index]);
                }

                if($child->term_id == $category->term_id)
                {
                    unset($array[$index]);
                }
            }
        }
        else
        {
            continue;
        }
    }
}
echo $html;
wp_die();

I have marketed the problem in the picture . Thank you in advance

more described in the picture

  • 写回答

1条回答 默认 最新

  • doujia6503 2017-08-26 14:22
    关注

    Here is the solution In place of subcategories you had printed categories.

    $orderby = 'name';
    $empty = 0;
    $args = array( 'orderby' => $orderby, 'show_count' => $show_count,
           'hide_empty' => $empty, ); 
    $all_categories = get_terms( 'product_cat', $args ); 
    $html = '';
    if (count($all_categories)) {
    $array = $all_categories; 
    foreach($all_categories as $category) { 
    if($category->parent == 0) {
    $html .= '<div class="checkbox"><label><input type="checkbox" class="product-cageories" value="'.$category->term_id.'"> '.$category->name.'</label></div>';
    $j = 0; 
    foreach($array as $index => $child) {
    if($child->parent == $category->term_id) {  
    $html .= '<div class="checkbox"><span class="pull-left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><label><input type="checkbox" class="product-cageories" value="'.$child->term_id.'"> '.$child->name.'</label></div>';
    unset($array[$index]);
    }
    if($child->term_id == $category->term_id) {
    unset($array[$index]); 
    }
    }
    }else{ 
    continue;
    }
    }
    }
    echo $html; 
    wp_die();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?