woocommerce有一个循环,用于打印购物车中每个商品的类别名称。这是代码:
function myFunction(){
global $woocommerce;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
$terms = get_the_terms( $_product->id, 'product_cat' );
foreach ($terms as $term) {
$_categoryid = $term->name;
echo $term->name;
}
}
}
行得通,echo $term->name;
会回显数组,然而,如果我有两个相同的项目,也就是2个相同的$_product->id
,它只会在回显中将其列为1个项目。我需要它单独列出每一个项目。
购物车里有三件商品
项目1)$_product->id
为20(类别为帽)
第2项)$_product->id
为20(类别为hat)
项目3)$_product->id
为15(类别为衬衫)
将显示:帽子衬衫
我需要它来显示:帽子帽子衬衫
如果您需要单独使用项目,则使用计数器作为:
- 首先查找物品总数
-
然后为打印的每个项目设置一个计数器。代码如下:
function myFunction(){ global $woocommerce; foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; $terms = get_the_terms( $_product->id, 'product_cat' ); $count = count($terms); $i = 0; foreach ($terms as $term) { $i++; $_categoryid = $term->name; if($i < $count){ echo $term->name; } } } }