WooCommerce Cart Quantity Base Discount WooCommerce Cart Quantity Base Discount wordpress wordpress

WooCommerce Cart Quantity Base Discount


You can use a negative cart fee to get a discount. Then you will add your conditions & calculations to a acustom function hooked in woocommerce_cart_calculate_fees action hook, this way:

## Tested and works on WooCommerce 2.6.x and 3.0+add_action( 'woocommerce_cart_calculate_fees','wc_cart_quantity_discount', 10, 1 );function wc_cart_quantity_discount( $cart_object ) {    if ( is_admin() && ! defined( 'DOING_AJAX' ) )        return;    ## -------------- DEFINIG VARIABLES ------------- ##    $discount = 0;    $cart_item_count = $cart_object->get_cart_contents_count();    $cart_total_excl_tax = $cart_object->subtotal_ex_tax;    ## ----------- CONDITIONAL PERCENTAGE ----------- ##    if( $cart_item_count <= 4 )        $percent = 0;    elseif( $cart_item_count >= 5 && $cart_item_count <= 10 )        $percent = 5;    elseif( $cart_item_count > 10 && $cart_item_count <= 15 )        $percent = 10;    elseif( $cart_item_count > 15 && $cart_item_count <= 20 )        $percent = 15;    elseif( $cart_item_count > 20 && $cart_item_count <= 25 )        $percent = 20;    elseif( $cart_item_count > 25 )        $percent = 25;    ## ------------------ CALCULATION ---------------- ##    $discount -= ($cart_total_excl_tax / 100) * $percent;    ## ----  APPLYING CALCULATED DISCOUNT TAXABLE ---- ##    if( $percent > 0 )        $cart_object->add_fee( __( "Quantity discount $percent%", "woocommerce" ), $discount, true);}

Code goes in function.php file of your active child theme (or theme) or also in any plugin file.

Tested and works on WooCommerce 2.6.x and 3.0+