Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
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();
}
}

Should I just add this to my functions.php file?

Yes

titleman commented Dec 8, 2016

What if the coupon codes are automatically generated? Will this work for Store Credits as well? Thank you!

seoindex commented Jan 5, 2017

ando what about if i have to apply coupon, forx example, on a minimum order of a single product?

arggasasao commented Apr 8, 2017

Very nice, thank you so much! it´s just that i'm looking for!
I use to do a bundle product. with coupons categories restriction and adding multiple products to cart at once.
nice work, thanks again

ddhara commented May 2, 2017

Can I use this code in REST API? If yes then how? Where should I put this code file in my woocommerce?

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 commented Nov 16, 2017

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

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