Skip to content

Instantly share code, notes, and snippets.

@jwebcat
Created January 24, 2014 08:20
Show Gist options
  • Save jwebcat/8593855 to your computer and use it in GitHub Desktop.
Save jwebcat/8593855 to your computer and use it in GitHub Desktop.
Automatically apply coupon to cart WooCommerce
add_action( 'woocommerce_before_cart', 'apply_matched_coupons' );
function apply_matched_coupons() {
global $woocommerce;
$get1 = 'getonech'; // your coupon code here
$get2 = 'gettwoch'; // your coupon code here
$get3 = 'getthreech'; // your coupon code here
$get4 = 'getfourch'; // your coupon code here
$get5 = 'getfivech'; // your coupon code here
if ( $woocommerce->cart->cart_contents_count >= 1 && $woocommerce->cart->cart_contents_count < 2 ) {
$woocommerce->cart->add_discount( $get1 );
$woocommerce->show_messages();
} elseif ( $woocommerce->cart->cart_contents_count >= 2 && $woocommerce->cart->cart_contents_count < 3 ) {
$woocommerce->cart->add_discount( $get2 );
$woocommerce->show_messages();
} elseif ( $woocommerce->cart->cart_contents_count >= 3 && $woocommerce->cart->cart_contents_count < 4 ) {
$woocommerce->cart->add_discount( $get3 );
$woocommerce->show_messages();
} elseif ( $woocommerce->cart->cart_contents_count >= 4 && $woocommerce->cart->cart_contents_count < 5 ) {
$woocommerce->cart->add_discount( $get4 );
$woocommerce->show_messages();
} elseif ( $woocommerce->cart->cart_contents_count >= 5 ) {
$woocommerce->cart->add_discount( $get5 );
$woocommerce->show_messages();
}
}
@bjf5051
Copy link

bjf5051 commented Aug 8, 2017

I used code similar to this but it looks like customers can get around this by getting to the highest coupon code then just removing items from their cart since all the rules are ">=". Is there code that can be entered which would follow "<=" to automatically remove coupon codes if the rules are no longer met. i.e. items are removed from the cart? Cheers!

@pmaojo
Copy link

pmaojo commented Nov 16, 2017

Can this be done not with quantity but with the total (Before taxes, and transport)?

@naliseth
Copy link

naliseth commented Jan 8, 2018

Hello, i have a question. i configured a rule on my woocomerce->coupon (for example apply a coupon discount when min spend is 27$). Now when I want to pay the bill, always appear: do you have any coupon? please enter the code....... Then i only want that this message appear only when the bill is >27$.
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment