我想更改wooocommerce购物车中的小计价格。如果特定的变化产品包含超过1个数量,我想更改购物车中的小计价格。例如,如果产品A的价格为12,那么用户将“数量”更新为2,我想显示小计相同的小计12。如果“数量”为3,则我想显示小计24的小数。每次数量增加时,我要从小计中减去产品的常规价格。我当前的代码对它不起作用。
add_action( 'woocommerce_before_calculate_totals', 'misha_recalculate_price' );
function misha_recalculate_price( $cart_object ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$product_ids = array(2697);
$quantity = 0;
foreach ( $cart_object->get_cart() as $hash => $value ) {
if( in_array( $value['variation_id'], $product_ids ) ) {
$quantity += $value['quantity'];
}
}
if( $quantity > 1 ) {
foreach ( $cart_object->get_cart() as $hash => $value ) {
if( in_array( $value['variation_id'], $product_ids ) ) {
$newprice = echo $value['line_total'] - $value['data']->get_regular_price();
$cart_object->subtotal -= $value['data']->get_regular_price();
$value['data']->set_price( $newprice );
}
}
}
}