Las mismas estrategias que tiene una tienda física puede aplicarse a una online y muchas más inclusive. En este espacio vamos a mostrar como aplicar una oferta 2×1 para Woocommerce y sin plugins.
Esta oferta 2×1 aplica a un sólo producto, aquí vamos a poner un cuadro con un ejemplo de lo que tratamos de hacer:
Producto | Precio Uni | Precio Total | Dscto 2×1 | Precio Final |
A (5 uni) | S/ 100 | S/ 500 | S/ 200 | S/ 300 |
B (12 uni) | S/ 10 | S/ 120 | S/60 | S/ 60 |
Como hay 5 unidades el costo total debería ser S/500. Pero de las 5 unidades vamos a aplicar la oferta a 4 de ellas, es por eso que S/200 es el descuento por causa del 2×1. El precio final no es más que una resta (Precio Total – Dscto 2×1).
Como hay 12 unidades el costo total debería ser S/120. Y en este caso 12 es un número par así que vamos a aplicar la oferta a todo, es por eso que S/60 es el descuento por causa del 2×1. El precio final no es más que una resta (Precio Total – Dscto 2×1)
Este código aplica a productos simples y no resuelve ningún tipo de impuestos. Colocarlo en tu functions.php de tu theme activo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php add_filter( 'woocommerce_cart_item_subtotal', 'gowoo_oferta_2x1', 10, 3 ); function gowoo_oferta_2x1( $subtotal, $cart_item, $cart_item_key ){ $array_idsproducts = array(50); //ids de los productos $multiple = 2; // cantidades multiplos de 2 ya que es 2x1 $quantity = $cart_item['quantity']; $price_total = $cart_item['line_total']; $price_single = $cart_item['data']->get_price(); $price_discount_html = $subtotal; if ( in_array($cart_item['product_id'],$array_idsproducts) && $quantity >= $multiple ) { $discount = floor( $quantity / $multiple ) * $price_single; $price_discount = $price_total - $discount; $price_discount_html = wc_price($price_discount); $price_discount_html.=' <small class="tax_label">(Oferta 2x1)</small>'; //WC()->cart->subtotal = WC()->cart->subtotal - $discount; WC()->cart->subtotal_ex_tax = WC()->cart->subtotal_ex_tax - $discount; WC()->cart->total = WC()->cart->total - $discount; } return $price_discount_html; } ?> |
La variable $array_idsproducts tiene el id del producto que le vas a aplicar la oferta 2×1, así que puedes cambiar/agregar más productos.
Cualquier consulta, en los comentarios.
Importante: este plugin pertenece a la empresa Timersys aqui ...
Suscribete y tendrás los más recientes posts en tu email
No funciona el código, da error la página cuando lo colocas.
Buen día.
Acabo de probarlo ahora en un Woocommerce y el código funciona.
http://imgur.com/pcbR8Pv
Si nos das más datos sería de gran ayuda
Saludos
En que parte de function.php lo puedo poder?
por que cuando pongo el código no me permite acceder a la pagina.
El codigo funciona muy bien!!! Muchas gracias, queria preguntarte si se puede amplicar al siguiente caso: Se compran 2 dos productos diferentes y se aplica el 2×1, pero solo se paga el producto mas caro. ¿Hay alguna forma de hacer esa promoción?
Julian que tal.
Podes hacerlo con nuestro plugin premium : https://www.letsgodev.com/product/woocommerce-volume-offers/
funciona solo en el checkout pero al momento de pagar al cliente le cobran sin el descuento
tengo el mismo problema alguien lo soluciono?
Gracias a que bajé a ver los comentarios me di cuenta que no funciona
Donde el pongo 5 estrellas!! Funciona de maravilla ❤️