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>';
}
?>
好的,我有获取产品类别的代码'
一切正常。
但我想要它做的是为每个循环(所以在它完成一个类别及其子类别之后)以 </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>';
}
?>