PHP WooCommerce WordPress - 在每个 foreach 后添加 ul 标签

PHP WooCommerce WordPress - Add ul tag after each foreach

好的,我有获取产品类别的代码'

一切正常。

但我想要它做的是为每个循环(所以在它完成一个类别及其子类别之后)以 </ul> 结束循环并以 <ul>[=16 开始循环=]

所以基本上我的输出不是:

<li></li>
<li></li>
<li></li>
<li></li>
<li></li>

它将是:

<ul>
 <li></li>
 <li></li>
</ul>
<ul>
 <li></li>
 <li></li>
</ul>
<ul>
 <li></li>
 <li></li>
</ul>

代码:

     <?php
  // 1 for yes, 0 for no  
  $taxonomy     = 'product_cat';
  $catid        = '7';
  $orderby      = 'date';  
  $show_count   = 0; 
  $pad_counts   = 0;
  $hierarchical = 1;      
  $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 == $catid) {
        $category_id = $cat->term_id;       
        echo '<li class="um-par"><a href="'. get_term_link($cat->slug, 'product_cat') .'"><b>'. $cat->name .'</b></a></li>'; ?>

      <?php  $args2 = array(
                'taxonomy'     => $taxonomy,
                'child_of'     => $catid,
                '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) {
            foreach($sub_cats as $sub_category) {
                echo  '<li class="um-sub"><a href="'. get_term_link($sub_category->slug, 'product_cat') .'">'.$sub_category->name.'</a></li>';
            }   
        }
    }       
}
?>

像这样在您的 if 语句之前添加 <ul>

$("ul").each(
  function() {
    var elem = $(this);
    if (elem.children().length === 0) {
      elem.remove();
    }
  }
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<?php
  // 1 for yes, 0 for no  
  $taxonomy     = 'product_cat';
  $catid        = '7';
  $orderby      = 'date';  
  $show_count   = 0; 
  $pad_counts   = 0;
  $hierarchical = 1;      
  $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) {
  echo '<ul>';
    if($cat->category_parent == $catid) {
        $category_id = $cat->term_id;       
        echo '<li class="um-par"><a href="'. get_term_link($cat->slug, 'product_cat') .'"><b>'. $cat->name .'</b></a></li>'; ?>

      <?php  $args2 = array(
                'taxonomy'     => $taxonomy,
                'child_of'     => $catid,
                '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) {
            foreach($sub_cats as $sub_category) {
                echo  '<li class="um-sub"><a href="'. get_term_link($sub_category->slug, 'product_cat') .'">'.$sub_category->name.'</a></li>';
            }   
        }
    }  echo '</ul>';     
}
?>