Seguro que has visto más de una vez, o miles, una oferta en un supermercado de un descuento que se aplicará al producto más barato del carrito de compra, ¿quieres saber cómo hacerlo en tu tienda online creada con WordPress y WooCommerce?
Hay varios posibles tipos de oferta que puedes aplicar siguiendo esta estrategia, por ejemplo:
- ¡Lleva 3 productos y uno te sale gratis!
- ¡Llévate 2 y obtendrás un 50% de descuento en el segundo!
- …
Pues bien, para poder aplicar este tipo de descuentos, que se apliquen al producto más barato del carrito del cliente, solo necesitas un poquito de código, como el de este ejemplo:
/* Descuento del 50 por ciento al producto mas barato del carrito */ add_action( 'woocommerce_before_calculate_totals', 'ayudawp_producto_barato_carrito_mitad_precio', 9999 ); function ayudawp_producto_barato_carrito_mitad_precio( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return; if ( count( $cart->get_cart() ) < 2 ) return; // TIENE QUE HABER AL MENOS 2 PRODUCTOS EN EL CARRITO $min = PHP_FLOAT_MAX; // BUSCAMOS EN EL LOOP PARA ENCONTRAR EL MAS BARATO foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) { if ( $cart_item['data']->get_price() <= $min ) { $min = $cart_item['data']->get_price(); $cheapest = $cart_item_key; } } // BUSCAMOS EN EL CARRITO PARA DESCONTAR EL 50% AL PRODUCTO MAS BARATO foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) { if ( $cheapest == $cart_item_key ) { $price = $cart_item['data']->get_price() / 2; //AQUI ES APLICAMOS EL DESCUENTO $cart_item['data']->set_price( $price ); $cart_item['data']->set_sale_price( $price ); } } }
El código de este ejemplo comprueba que en el carrito haya al menos 2 productos, en cuyo caso busca el que tenga el menor precio, y le aplica un descuento a la mitad de su precio, lo que vendría a ser la oferta de «¡Si te llevas más de 2 productos aplicamos un 50% de descuento al más barato!», bastante llamativo ¿no?
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!