Ich habe eine Weile gesucht, aber ich kann nicht finden, wie man Woocommerce-Gutscheine programmgesteuert entfernt.
Ich versuche, Rabatte basierend auf der Gesamtsumme des Warenkorbs zu machen. Ich muss Gutscheine entfernen, denn wenn Sie Produkte im Wert von 1000 € haben (15 % Rabattgutschein angewendet) und Produkte entfernen und nur Produkte im Wert von 50 € lassen, erhalten Sie immer noch diesen 15 % Rabatt, da mein Code den bereits angewendeten Gutschein nicht entfernt .
Also hier ist mein Code für jetzt:
add_action( 'woocommerce_before_cart', 'apply_matched_coupons' );
function apply_matched_coupons() {
global $woocommerce;
$coupon_code5 = '5p'; // your coupon code here
$coupon_code10 = '10p'; // your coupon code here
$coupon_code15 = '15p'; // your coupon code here
$coupon_code20 = '20p'; // your coupon code here
$coupon_code25 = '25p'; // your coupon code here
if ( $woocommerce->cart->has_discount( $coupon_code ) ){
return;
}
if ( $woocommerce->cart->cart_contents_total >= 4000 ) {
$woocommerce->cart->add_discount( $coupon_code25 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 2000 ) {
$woocommerce->cart->add_discount( $coupon_code20 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 1000 ) {
$woocommerce->cart->add_discount( $coupon_code15 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 500 ) {
$woocommerce->cart->add_discount( $coupon_code10 );
$woocommerce->show_messages();
}
else if ( $woocommerce->cart->cart_contents_total >= 200 ) {
$woocommerce->cart->add_discount( $coupon_code5 );
$woocommerce->show_messages();
}
}