You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Riode主题Woocommerce迷你购物车图标旁商品总数统计异常修正问询

WooCommerce Riode主题迷你购物车计数调整方案

你当前的问题是按重量计价的商品把重量数值存在了购物车quantity字段,原有代码直接累加quantity值导致计数错误,按以下步骤修改即可实现你要的计数逻辑:

1. 先给两类商品做区分标记(二选一即可)

  • 方案1(自定义字段,推荐):后台编辑所有按重量计价的商品,添加自定义字段,键名填_is_weight_priced,值填yes
  • 方案2(商品分类):把所有按重量计价的商品归属到同一个商品分类,比如分类别名设置为weight-goods

2. 替换原有代码

如果你用自定义字段区分商品,使用以下代码:

<?php
add_filter( 'woocommerce_add_to_cart_fragments', 'add_to_cart_fragment',10,1);
function add_to_cart_fragment($fragments){
   
   ob_start();
   $items_count=0;
    
   foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
       $product = $cart_item['data'];
       $product_id = $cart_item['product_id'];
       $quantity = $cart_item['quantity'];
       // 判断是否为重量计价商品
       $is_weight_priced = $product->get_meta('_is_weight_priced') === 'yes';
       if($is_weight_priced){
           // 重量计价商品每个购物车条目计1个
           $items_count+=1;
       }else{
           // 普通计件商品累加购买数量
           $items_count+=$quantity;
       }
   }
        
?>
    <a class="cart-toggle" href="<?php echo wc_get_cart_url(); ?>"><i class="d-icon-bag">
        <span class="cart-count" style="opacity: 1;"><?php echo $items_count; ?> </span></i>
    </a>

    <?php 
        $fragments['a.cart-toggle'] = ob_get_clean();
        return $fragments;
}

如果你用商品分类区分商品,仅需要修改判断条件部分即可:

把上面代码中的判断条件替换为:

$is_weight_priced = has_term( 'weight-goods', 'product_cat', $product_id );

补充说明

如果需要全局同步修改所有WooCommerce场景下的购物车计数(包括购物车页、结账页等),可以额外添加以下过滤器:

add_filter( 'woocommerce_cart_contents_count', 'custom_cart_count_calculate', 10, 1 );
function custom_cart_count_calculate( $count ) {
    $items_count = 0;
    foreach ( WC()->cart->get_cart() as $cart_item ) {
        $product = $cart_item['data'];
        $product_id = $cart_item['product_id'];
        $quantity = $cart_item['quantity'];
        $is_weight_priced = $product->get_meta('_is_weight_priced') === 'yes';
        $items_count += $is_weight_priced ? 1 : $quantity;
    }
    return $items_count;
}

内容的提问来源于stack exchange,提问作者ash250113

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:36:03