Modify cart total amount with filter or hook
14,990
function woocommerce_cart_subtotal( $cart_subtotal, $compound, $obj ){
$t = 0;
foreach ( $obj->cart_contents as $key => $product ) :
$product_price = $product['line_total'];
foreach ( WC()->cart->get_coupons( 'order' ) as $code => $coupon ) :
$product_price = 19;//wpq_9522_discount( $product['line_total'], $coupon->discount_type, $coupon->amount );
endforeach;
$t += $product_price;
endforeach;
return $cart_subtotal;//( $t > 0 ) ? sprintf( '<s>%s</s> %s',
$cart_subtotal, wc_price( $t ) ) : $cart_subtotal ;
}
add_filter( 'woocommerce_cart_subtotal', 'woocommerce_cart_subtotal', 99, 3 );
Author by
Russ Powers
Updated on June 21, 2022Comments
-
Russ Powers almost 2 years
Okay so I'm trying to write a filter or hook that will modify the total amount of the shopping cart depending on the total overall amount of items in the shopping cart. For example, if there are three items in the shopping cart, I want to deduct twenty dollars from the total order. Below is the code I have so far, any help is greatly appreciated!
add_filter('woocommerce_cart_contents_total', 'bundle_deals'); function bundle_deals( $cart_contents_total, $cart_contents_count) { global $woocommerce; if ($woocommerce->cart->get_cart()->cart_contents_count <= 3) { $cart_contents_total = $woocommerce->cart->get_cart()->cart_contents_total - 20.00; } return $cart_contents_total; }