Cómo aplicar cupones de descuento automáticamente en WooCommerce

Imagina la siguiente situación…

Es Black Friday, Navidad o cualquier otra fecha señalada y quieres aplicar un descuento automáticamente a todos tus productos, a una sección o siguiendo unas reglas determinadas ¿cuál sería la mejor manera de hacerlo?

Podrías mandar un cupón a todos tus clientes, o poner un banner donde se indique el cupón ¿y si aplicas un cupón automáticamente con las reglas que tu definas? Esa es la idea.

Los cupones tienen la ventaja de que puedes especificar reglas y condiciones de límites de uso y tiempo que, automatizándolos, te permitirán crear descuentos sin esfuerzo alguno para ti ni para los visitantes a tu tienda online.

Hacerlo es bien sencillo, solo 2 pasos:

Crea el cupón de descuento

Ve a WooCommerce > Cupones y crea el descuento con las reglas que tú especifiques, como productos a los que se aplicará, fecha de caducidad, etc.

Publica el cupón, por supuesto.

Crea la función para aplicar automáticamente el cupón

Abre el archivo functions.php del tema activo o tu plugin de personalizaciones y añade el siguiente código:

//Cupón descuento automático
add_action( 'woocommerce_before_cart', 'apply_matched_coupons' );

function apply_matched_coupons() {
    global $woocommerce;

    $coupon_code = 'feliznavidad'; // aquí tu código de cupón

    if ( $woocommerce->cart->has_discount( $coupon_code ) ) return;

    if ( $woocommerce->cart->cart_contents_total >= 1 ) {
        $woocommerce->cart->add_discount( $coupon_code );
        $woocommerce->show_messages();
    }

}

En el código anterior tienes que cambiar el valor la variable $coupon_code por tu código de cupón y, si lo deseas, puedes aumentar el importe mínimo del contenido del carrito (cart_contents_total) de 1 en el código de ejemplo a la cifra que quieras, digamos 50, o el importe mínimo de carrito a partir del que quieras que se aplique automáticamente el cupón.

Una vez guardes los cambios se aplicará el cupón automáticamente tanto en el carrito como en la página de finalizar compra.

Cupón automático en carrito

 

Cupón automático en el pago
VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(12 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

35 comentarios en “Cómo aplicar cupones de descuento automáticamente en WooCommerce”

  1. Hola!, en varios lados he visto que es la manera de hacer cupones para woocommerce. el tema es que llego a mi panel de control y dentro de WOO no me aparece la palabra entre las opciones cupones. Alguna ayuda para encontrarla? muchas gracias!!

      1. Fernando, queria preguntarte por otro tema de woocommerce. En algunos momentos mi sitio web no reconoce el numero que inserto en la cantidad de ítems diciéndome que no reconoce el formato. he probado con varios navegadores y dispositivos. Alguna manera de solucionarlo?

  2. Vale, ya veo, eso es una mala configuración del plugin WooCommerce Measurement Price Calculator. Es de pago, pide ayuda en WooCommerce.com, te lo tienen que dar 😉

    Igual te dicen que es cosa del tema (podría ser) ¿has probado si con otro tema activo también pasa? (storefront por ejemplo)

    1. Super! , gracias por la guía!
      he probado en otros dispositivos y la verdad es bien errante el problema.
      el tema de cambiarme de «tema » es que se desconfigura todo no?

      1. Yo te sugiero un cambio temporal, para ver si era el tema o la combinación del tema y el plugin, y así hablar con soporte de tu tema (de pago) y el plugin (de pago) y hacer valer el pago del producto

        1. Hola Fernando!, revisé uno a uno los plugs in y encontré el que provocaba el problema, es el POS de Woocommerce. ahora lo veo con ellos, mientras tanto lo mantengo apagado.
          conoces alguna otra alternativa para Punto de Venta? mil gracias!

          1. Hay varios, todos de pago, gratis y bueno solo ese. Con lo que te digan, si no te importa, compártelo por aquí 😉

  3. Joel Casasayas

    Pues a mi no me funciona del todo.

    Cuando pongo el código en el functions.php me aplica el cupón automáticamente. Pero el problema está en que cuando voy a la página del carrito no me muestra los productos hasta que no refresco la página F5. Quizas sea un problema con WPML o la caché, no se.

      1. A mí me pasa.lo mismo abres la página del carrito se queda en blanco hasta que refrescas. Ya he borrado caché y sigue igual .Alguna idea????
        Alguna idea de algún plugin que cree conflicto con la función??
        Por cierto la función se ejecuta correctamente. Lo único eso .El tema de la página del carrito en blanco

        1. add_action( ‘woocommerce_add_to_cart’, ‘apply_matched_coupons’ );

          function apply_matched_coupons() {
          // If the current user is a shop admin
          if ( current_user_can( ‘manage_woocommerce’ ) ) return;
          // If the user is on the cart or checkout page
          if ( is_cart() || is_checkout() ) return;

          $coupon_code = ‘somecodehere’;

          if ( WC()->cart->has_discount( $coupon_code ) ) return;

          WC()->cart->add_discount( $coupon_code );
          }

  4. Hola Fernando a mi me ocurre una cosa con el tema de cupones en mi tienda , aplicando cualquier descuento de un cupón todo se hace correctamente y aparece el descuento , pero el problema viene que al ir a pagar a paypal vuelve a cargarte para el pago el importe inicial sin el descuento aplicado ¿tú sabes como solucionarlo o si es el tema de alguna pestaña o que? me estoy volviendo loco con esto y seguro que es una tontería.

  5. Gracias por tu aporte. Si tengo un producto variable, ejemplo una malteada, y es de varios sabores pero sólo quiero aplicar el cupón en sabor vainilla? cómo se aplicaría el cupón en un producto variable? GRacias!

    1. Al crear el cupón, en la pestaña de Restricciones, elige la variación al buscar el producto al que se asignará, aparecerá el producto principal y todas sus variaciones.

  6. Luis F. Izquierdo

    Hola Fernando, me parece una función muy interesante. Yo tengo una necesidad con los cupones que no consigo saber como resolverla, te dejo aquí la duda por si tu pudieras ayudarme.
    Quiero poner un botón que al darle se aplique un cupón específico, tenga o no tenga productos el carrito.
    ¿Para qué? para ponerlo en mi thanks-page de suscripción : así la gente aprovecha su cupón de dto por suscribirse dándole al CT hermoso que le voy a poner.. en vez de tener que recordar el cupón, o copiar y pegar, y demás … lo que hace que la conversión sea mucho más baja.. creo que de esta forma subirá bastante la conversión. Además es una forma de juntarlo al ConvertPro y meter popup muy funcionales.. ya pongo del tipo /carrito/?add-to-cart=x .. y convierten bastante.

    ¿Es posible esto?
    Muchas gracias de antemano.

  7. Empanada Sama

    Buenas, alguna idea para que el cupón funcione con easy booking? quiero que se aplique si el producto está en un rango de 8 a 15 días. Gracias.

  8. Hola Fernando quiero mostrar a los usuariso los cupones que tiene disponible y tengo una sesión en Mi cuenta para eso, solo que no encuentro un Shortcodes de cupones. Me ayuda por favor…

  9. Hola! Existira alguna forma de agregarle una condicion por ciudad? es decir, para cada ciudad un cupon diferente, pero este se aplica en la seleccion de la ciudad al finalizar la compra, la verdad he buscado pero no encuentro la condicional, muy buen post y muchas gracias por la info

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido