我发现this script允许我在WooCommerce中显示购物车图标上方的购物车内容:
<a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf (_n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
如果我的购物车中有100件商品,则显示100件。
我真正想要的是按项目类型显示计数。因此,如果有50件T恤和50件短裤,我希望单独显示2件商品类型。
有谁知道我怎么能做到这一点?
由于
答案 0 :(得分:2)
更新 - 2018年8月 - 更轻巧,更紧凑的代码版本。
类似的新答案: Custom cart item counts by product category in Woocommerce 3
此功能用于显示特定产品类别的购物车数量:
function cat_cart_count( $cat_name ) {
$count = 0; // Initializing
// Loop through cart items
foreach( WC()->cart->get_cart() as $cart_item ) {
if( has_term( $term, 'product_cat', $cart_item['product_id'] ) )
$count += $cart_item['quantity'];
}
// Returning category count
return $count == 0 ? false : $count;
}
您将上面的代码粘贴到您的活动子主题或主题的function.php文件中。
对于 "shorts"
类别,您将以这种方式使用它: cat_cart_count( "shorts" )
并将替换WC()->cart->get_cart_contents_count()
。
注意:自woocommerce 3以来,
WC()->cart->get_cart_url();
被wc_get_cart_url()
取代。
使用 "tshirts"
和 "short"
类别自定义代码段代码:
<a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf (_n( '%d t-shirt', '%d t-shirts', cat_cart_count( "tshirt" ) ), cat_cart_count( "tshirt" ) ); ?> - <?php echo sprintf (_n( '%d short', '%d shorts', cat_cart_count( "shorts" ) ), cat_cart_count( "shorts" ) ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
由于hoc标签类“cart-contents”由woocommerce刷新的购物车碎片使用,您可能需要按照以下内容重命名:Custom cart item counts by product category in Woocommerce 3
我们的自定义代码段代码中的最后一件事,您可以自定义 - 添加一些文字或其他内容......我已经按类别名称替换 "item(s)"
。