Apply a coupon for minimum cart total in WooCommerce

The code snippet below allows you to:

Show a notice on the cart and checkout page, reminding customers that they get a discount if spending more than a minimum amount.

Automatically apply a discount and show a notice that the discount was applied when the cart total is more than a minimum amount.

Add this code to your child theme’s functions.php file or via a plugin that allows custom functions to be added, such as the Dessky Snippets plugin. Please don’t add custom code directly to your parent theme’s functions.php file as this will be overwritten completely when you update the theme.

/**
* Apply a coupon for minimum cart total
*/

add_action( 'woocommerce_before_cart' , 'add_coupon_notice' );
add_action( 'woocommerce_before_checkout_form' , 'add_coupon_notice' );

function add_coupon_notice() {

        $cart_total = WC()->cart->get_subtotal();
        $minimum_amount = 50;
        $currency_code = get_woocommerce_currency();
        wc_clear_notices();

       if ( $cart_total < $minimum_amount ) {
              WC()->cart->remove_coupon( 'COUPON' );
              wc_print_notice( "Get 50% off if you spend more than $minimum_amount $currency_code!", 'notice' );
        } else {
              WC()->cart->apply_coupon( 'COUPON' );
              wc_print_notice( 'You just got 50% off your order!', 'notice' );
        }
          wc_clear_notices();
}