Php minicard中的自定义价格值仅在单个产品站点上是错误的
我有一个功能,可以改变我的购物车中产品的价格 事实上,一切都正常。我可以将产品添加到购物车,完成订单,然后到处都是我的定制价格。 当我通过归档页面添加产品时,一切正常(小部件购物车和购物车) 但是如果我通过单一产品站点添加产品,widget购物车中的价格是不正确的。但是总数还是正确的 这是我的密码:Php minicard中的自定义价格值仅在单个产品站点上是错误的,php,wordpress,woocommerce,cart,Php,Wordpress,Woocommerce,Cart,我有一个功能,可以改变我的购物车中产品的价格 事实上,一切都正常。我可以将产品添加到购物车,完成订单,然后到处都是我的定制价格。 当我通过归档页面添加产品时,一切正常(小部件购物车和购物车) 但是如果我通过单一产品站点添加产品,widget购物车中的价格是不正确的。但是总数还是正确的 这是我的密码: add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' ); add_action( 'woocommerce
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);
}
}
}
有人能解决这个问题吗