Implementar BOGO en WooCommerce sin Plugin con PHP

¿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.

¡Más Snippets, Más Opciones!

Al compartir, motivamos a más desarrolladores a contribuir. Ayúdanos a hacer de este directorio un punto de referencia en snippets.

Facebook
Twitter
LinkedIn
Telegram
WhatsApp

¿Cómo implementar este snippet en la web?

Tienes 2 opciones, una de ellas es mediante plugin y la otra pegando el código en tu web.

1. Añadir snippet con plugin

code-snippets

Code Snippets

Por Code Snippets Pro

  1. Descarga el plugin o búscalo en el repositorio de plugins de Wordpress e instálalo en tu web.
  2. En el menú lateral del Escritorio verás un nuevo enlace (Fragmetos de código). Ves a Fragmentos de código > Añadir nuevo.
  3. Se abrirá una página con un título, bloque de código, descripción y etiquetas, rellena el título con el que quieras guardarlo, ejemplo: Añadir Google Analytics.
  4. En la parte código verás que está activo PHP, ahí pega el código del snippet
  5. La descripción y las etiquetas solo son para tu información y para que luego encuentres más fácil los snippets.
  6. Publicar y activar el snippet.

2. Añadir snippet en el functions.php

Diseño web con WordPress

Accede al archivo functions.php de tu tema o tema hijo, pega el snippet y guarda el archivo.

Lo encontrarás en Apariencia > Editor de archivos de tema, pinchas sobre el enlace  functions.php y pegas el código al final del archivo.

Relacionados: