单个产品页面迷你购物车自定义价格显示异常求助
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
相关产品推荐
相关产品推荐

