Seguro que has presenciado en varias ocasiones en un supermercado una oferta que aplica un descuento al artículo más económico en tu carrito de compra.
/* Descuento del 50 por ciento al producto mas barato del carrito */
add_action('woocommerce_before_calculate_totals', 'nwp_producto_barato_carrito_mitad_precio', 9999);
function nwp_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);
}
}
}
Herramientas
- WooCommerce
El plugin para crear tiendas online por excelencia. Tanto de productos físicos como digitales. Es la base para prácticamente cualquier proyecto web que acepte pagos online.