En ocasiones necesitaremos que un cupón se aplique de manera automática dependiendo de la cantidad de productos que nuestro cliente haya agregado a su carrito. Para estos casos utilizaremos el siguiente snippet.
No olvides que este bloque de código va en el archivo functions.php o utilizando el plugin de Code Snippets.
function marcode_descuento_por_cantidad() {
// 1- Creamos una variable con el nombre de nuestro cupón.
$cupon = 'hotsale';
// 2- Validamos que la cantidad de productos en nuestro carrito sea superior a 5 y agregamos o quitamos el cupon dependiendo del caso.
if ( WC()->cart->get_cart_contents_count() > 5 ) {
if ( ! WC()->cart->has_discount( $cupon ) ) // Validamos que no tenga ningun otro cupon
WC()->cart->add_discount( $cupon ); // Agregamos el cupón
} else {
if ( WC()->cart->has_discount( $cupon ) ) // Validamos si tiene un cupon
WC()->cart->remove_coupon( $cupon ); // Removemos el cupón
}
}
add_action( 'woocommerce_before_cart', 'marcode_descuento_por_cantidad' );
ATENCION ⚠
Si hacemos esto el nombre del cupón aparecera en la parte inferior, si quieres mantenerlo en secreto te recomiendo ver este post Ocultar o cambiar texto de Cupón