¿Quieres ofrecer promociones de tipo «Compra uno, llévate otro gratis» (BOGO, por sus siglas en inglés) en tu tienda WooCommerce pero prefieres evitar el uso de plugins adicionales? Este artículo es para ti. Te enseñaremos cómo implementar una promoción BOGO directamente con código PHP.
Aquí está el código que hará el trabajo:
<?php /** * Técnica BOGO (Buy One Get One) sin plugin en WooCommerce */ function bf_bogo_promotion() { if ( is_admin() || WC()->cart->is_empty() ) { return; } // Reemplaza por tus los IDs de productos que quieras $producto_comprado_id = 32; $producto_regalado_id = 57; // ¿Producto comprado en el carrito? $producto_comprado_carrito_id = WC()->cart->generate_cart_id( $producto_comprado_id ); $producto_comprado_carrito = WC()->cart->find_product_in_cart( $producto_comprado_carrito_id ); // ¿Producto regalado en el carrito? $producto_regalado_carrito_id = WC()->cart->generate_cart_id( $producto_regalado_id ); $producto_regalado_carrito = WC()->cart->find_product_in_cart( $producto_regalado_carrito_id ); if ( ! $producto_comprado_carrito ) { if ( $producto_regalado_carrito ) { WC()->cart->remove_cart_item( $producto_regalado_carrito ); } } else { if ( ! $producto_regalado_carrito ) { WC()->cart->add_to_cart( $producto_regalado_id ); } } } add_action( 'template_redirect', 'bf_bogo_promotion' );
Este código automáticamente añade un producto gratuito al carrito del usuario si este tiene un producto específico en el carrito.
Ejemplo de uso: Imagina que tienes una tienda de ropa y quieres ofrecer una camiseta gratis con cada jean vendido. Este script permitirá que, cada vez que un cliente añada un jean al carrito, automáticamente se añadirá una camiseta gratuita.