i have two coupons and multiple shipping zones
- (shipping zone A, shipping zone B, shipping zone C)
- (coupon 1) and (coupon 2). what i want is that if a user choose a specific shipping zone lets say (shipping zone C) i want to apply (coupon 2) for (shipping zone C) specifically. and (coupon 1) will be applies for all other shipping zones.
this is what i tried so far
<?php
add_action('woocommerce_before_cart', 'add_coupon_notice');
add_action('woocommerce_before_checkout_form', 'add_coupon_notice');
function add_coupon_notice()
{
if (is_cart() || is_checkout())
{
global $woocommerce;
$cart_total = WC()
->cart->total;
$minimum_amount = 100;
$currency_code = get_woocommerce_currency();
$states = array(
'shipping zone A',
'shipping zone B',
'shipping zone C'
);
wc_clear_notices();
if ($cart_total < $minimum_amount && in_array(WC()
->customer
->get_shipping_state() , $states))
{
WC()
->cart
->apply_coupon('COUPON 1');
wc_print_notice('You just got 15% off your order!', 'notice');
}
else
{
WC()
->cart
->apply_coupon('COUPON 2');
wc_print_notice('You just got 15% off your order!', 'notice');
}
wc_clear_notices();
}
}