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

单个产品页面迷你购物车自定义价格显示异常求助

WooCommerce迷你购物车单价显示异常问题

各位好,我写了一个用来修改WooCommerce购物车产品价格的函数,大部分使用场景都正常:能正常添加商品、完成订单,自定义价格在多数页面位置都显示正确。比如从归档页添加商品时,侧边的widget-cart和主购物车页面(shopping-cart)都没问题;但从单个产品详情页添加商品时,迷你购物车(mini cart)里的商品单价显示错误,不过购物车总价是正确的。

相关场景截图:

  • 归档页添加商品后的正常显示截图
  • 单个产品页添加商品后的异常显示截图

以下是我当前的实现代码:

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
add_action( 'woocommerce_before_mini_cart', 'add_custom_price' );
function add_custom_price( $cart_object ) {
    if( !WC()->session->__isset( "reload_checkout" )) {
        foreach ( $cart_object->cart_contents as $key => $value ) {
            foreach( WC()->cart->get_cart() as $cart_item ){
                $product_id = $cart_item['data']->get_id();
            }
            $product_group = get_field( "produktegruppe", $product_id );
            $current_user_id = get_current_user_id();
            $usergroup = get_field($product_group,'user_'. $current_user_id);
            $value1 = $usergroup['rabatt'];
            $value2 = $usergroup['zusatzrabatt'];
            $orgPrice = floatval( $value['data']->get_price() );
            if ( $value2 ) {
                $discPrice = ($orgPrice / 100 * (100-$value1)) / 100 * (100-$value2);
            } else {
                $discPrice = $orgPrice / 100 * (100-$value1);
            }
            $value['data']->set_price($discPrice);
        }
    }
}

有没有大佬能帮忙分析下问题出在哪,或者提供解决这个显示异常的方案?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:03:43