En ocasiones es necesario incorporar una funcionalidad para añadir un cupón automáticamente en WooCommerce y que este se aplique en el carrito sin necesidad de escribirlo.
Para ello primero tenemos que crear el cupón desde WooCommerce > Cupones, una vez hayamos definido el código de cupón incorporamos al functions.php de nuestro tema el siguiente snippet:
add_action( 'woocommerce_after_checkout_form', 'apply_matched_coupons' ); function apply_matched_coupons() { global $woocommerce; $coupon_code = 'nombre de cupon'; $woocommerce->cart->remove_coupon( $coupon_code ); if ( $_SESSION['cupon']->cupon == 'SI' ){ $woocommerce->cart->add_discount( $coupon_code ); } wc_print_notices(); }
Reemplaza la linea 4 con el nombre del cupón que hayas creado anteriormente y este se aplicará automáticamente al carrito de WooCommerce
Fuente: https://wp-types.com/forums/topic/how-can-i-add-a-coupon-to-the-cart-automatically/