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 );
Share:
14,990
Russ Powers
Author by

Russ Powers

Updated on June 21, 2022

Comments

  • Russ Powers
    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;
    }