Cómo crear y aplicar cupones en WooCommerce mediante programación

Publicado: 2020-09-26

¿Desea crear cupones y agregar descuentos para aumentar la participación del cliente? En esta guía, le mostraremos cómo crear y aplicar un cupón en WooCommerce mediante programación . Te mostraremos diferentes ejemplos de lo que puedes hacer para aumentar tus ventas.

¿Por qué usar cupones de descuento en WooCommerce?

La mayoría de los sitios de comercio electrónico tienen tasas de conversión que rara vez superan el 3%, por lo que los propietarios de las tiendas siempre buscan formas de aumentar sus ventas. Una de las formas más efectivas de lograrlo es mediante el uso de cupones de descuento.

Los descuentos pueden proporcionar a los usuarios un beneficio adicional que puede ayudarlos a decidirse y comprar su producto. Por ejemplo, podrías usar cupones para fechas importantes de comercio electrónico como Navidad o Black Friday, ofrecer descuentos por tiempo limitado, crear cupones para tus clientes más fieles, etc. Hay muchas maneras en las que ofrecer cupones puede ayudar a aumentar las tasas de conversión y aumentar las ventas.

Es por eso que en esta guía, le mostraremos cómo crear y aplicar cupones en WooCommerce mediante programación .

Cómo crear y aplicar un cupón en WooCommerce programáticamente

En este tutorial, aprenderá cómo crear y agregar cupones de WooCommerce de diferentes maneras:

  1. Crear cupones de WooCommerce
  2. Aplicar cupón a:
    1. Todos los productos
    2. Productos específicos por ID
    3. El valor del carrito subtotal
    4. El total del carrito en función del número de productos

Como editará el archivo functions.php del tema secundario, antes de comenzar debe instalar un tema secundario. Puede crear uno o usar un complemento de tema secundario. Además, tenga en cuenta que usaremos varios ganchos de WooCommerce, por lo que, si no está familiarizado con ellos, le recomendamos que eche un vistazo a esta publicación.

1) Crear cupones en la configuración de WooCommerce

Antes de aplicar los cupones, debe crearlos. Entonces, el primer paso es crear un cupón en WooCommerce . Con la función incorporada de WooCommerce, puede crearlos fácilmente con unos pocos clics.

En el panel de control de WordPress, vaya a WooCommerce > Cupones y haga clic en Agregar cupón . En algunas versiones de WooCommerce, puede encontrarlo en Marketing > Cupones . Luego ingrese un nombre de código de cupón. Puede escribir cualquier nombre que desee o usar un nombre generado automáticamente. En este caso, lo llamaremos auto_coupon .

Luego, debe elegir el tipo de descuento (porcentaje, descuento fijo de carrito o descuento fijo de producto), el monto (porcentual o monto fijo) y la fecha de vencimiento. También puede establecer términos de restricciones de los productos para los que se aplica el cupón, la cantidad mínima que los clientes deben gastar para aplicar el cupón, limitar el uso por cupón o usuario, y muchos otros.

Después de configurar su cupón, presione Publicar . Crear cupón de woocommerce Vale la pena señalar que puede cambiar cualquiera de estas configuraciones en cualquier momento. Solo tenga en cuenta que si lo hace, deberá ajustar los scripts que vamos a usar para que coincidan con la configuración del nuevo código de cupón.

Si desea obtener más detalles sobre cómo crear y configurar cupones en WooCommerce, puede consultar esta guía paso a paso.

Ahora ya sabes cómo crear cupones en WooCommerce . Veamos cómo aplicarlos.

2.1) Aplicar cupón programáticamente a cualquier producto

Primero, veamos cómo aplicar un cupón a cualquier producto de WooCommerce . Para esto, usaremos el woocommerce_before_cart para ejecutar el script antes de que se cargue la página del carrito. Además, trabajaremos con el objeto del carrito de WooCommerce para recuperar la información que necesitamos para ejecutar nuestra validación antes de aplicar el código de cupón que acabamos de crear ( auto_coupon ).

El objeto WC()->cart está disponible en las páginas frontales y le permite recuperar toda la información relacionada con la página del carrito. Pegue el siguiente script en el archivo functions.php de su tema hijo:

 add_action('woocommerce_before_cart', 'QuadLayers_apply_coupon');
    función QuadLayers_apply_coupon() {
        $código_cupón = 'auto_cupón';
        if ( WC()->cart->has_discount( $coupon_code ) ) return;
        WC()->carrito->aplicar_cupón( $código_cupón);
        wc_print_avisos();
    }

Como puede ver, estamos usando un condicional if() para comprobar si el cupón ya se ha aplicado. Para saberlo, recupera el objeto del carrito de WooCommerce de esta manera: WC()->cart->has_discount($coupon_code);

Es importante tener en cuenta que necesitará este tipo de validación en todos los casos. Si no lo hace de la manera correcta, se agregará el cupón varias veces o cuando se vuelva a cargar la página del carrito. Además, tenga en cuenta que WC()->apply_coupon($coupon_code) es cómo aplica el cupón definido a la página del carrito actual.

2.3) Aplicar cupones de WooCommerce a ID de productos específicos

Otra opción interesante es aplicar un cupón a ID de productos específicos de WooCommerce . Para hacer eso, puede usar el siguiente script. Solo asegúrese de editar la matriz $products_id() para que coincida con las ID de sus productos.

 add_action('woocommerce_before_cart', 'QuadLayers_apply_matched_id_products');
función QuadLayers_apply_matched_id_products() {  
    
    // cupón creado previamente;
    $código_cupón = 'auto_cupón'; 
    // esta es la matriz de ID/s de su producto  
    $product_ids = matriz (664,624,619); 
    // Aplicar cupón. El valor predeterminado es falso
    $aplicar=falso;
 
    // bucle de productos agregados al carrito
    foreach ( WC()->carrito->get_cart() as $cart_item_key => $cart_item ) {                      
        if ( in_array( $cart_item['product_id'], $product_ids )):              
            // ID de coincidencia de producto
            $aplicar=verdadero;
            descanso;                     
        terminara si;  
    }
    // aplicar y eliminar cupón
    si ($aplicar==verdadero):
        WC()->carrito->aplicar_cupón( $código_cupón);
        wc_print_avisos();  
    demás:    
        WC()->carrito->remove_coupons( sanitize_text_field( $coupon_code ));
        wc_print_avisos();   
        WC()->carrito->calcular_totales();    
    terminara si; 
}

Aquí, hemos usado un ciclo foreach() para recorrer todos los productos que se agregaron al carrito. Si alguno de ellos coincide con los ID especificados, la variable $apply se establece en verdadero. De esta forma, la validación simplemente aplica el cupón cuando la variable es true . De lo contrario, elimina el cupón.

2.4) Aplicar cupón al valor del carrito subtotal

Ahora, supongamos que en lugar de agregar descuentos en función de los productos, desea aplicar un cupón en WooCommerce cuando los clientes gastan más de $ 50 en su tienda. Esta es una excelente manera de recompensar a sus compradores y alentarlos a gastar más dinero en su sitio. Entonces, con la siguiente función, puede aplicar un cupón solo cuando el valor del subtotal del carrito es más de 50.

 add_action('woocommerce_before_cart','QuadLayers_apply_coupon_cart_values');
función QuadLayers_apply_coupon_cart_values(){
     
       // cupón creado previamente
       $código_cupón = 'auto_cupón';           
       // obtener cupón
       $cupón_actual = WC()->carrito->obtener_cupones();
       // obtener el subtotal del carrito
       $carrito_ST = WC()->carrito->subtotal;        
 
       // el cupón no se ha aplicado antes de que && condicional sea verdadero
       if(vacío($cupón_actual)&&$cart_ST>=50):
           // Aplicar cupón
           WC()->carrito->aplicar_cupón( $código_cupón);
           wc_print_avisos();            
       // el cupón se ha aplicado && condicional es falso
       elseif(!empty($cupón_actual)&&$cart_ST<50):
           WC()->carrito->remove_coupons(sanitize_text_field($coupon_code));
           wc_print_avisos();       
           WC()->carrito->calcular_totales();
           echo '<div class="woocommerce_message">El cupón fue eliminado</div>';
       // Condicional es FALSO && no se aplica cupón
       else:// No hacer nada 
           echo '<div class="woocommerce_message"> Error desconocido</div>';
       terminara si;
}

Por supuesto, puede reemplazar $50 en el guión por cualquier otra cantidad que tenga más sentido para su negocio. Aplique el cupón de WC cuando el carrito total exceda los 50 También tenga en cuenta que en el condicional, estamos usando las mismas instancias de objetos WC que usamos antes para controlar exactamente cuándo agregamos o eliminamos el cupón. El WC()->cart->subtotal le permite conocer el subtotal del carrito, almacenando su valor en la variable $cart_ST .

Finalmente, tenga en cuenta que debe usar WC()->cart->calculate_totals(); para recalcular el importe total del carrito después de aplicar el cupón.

2.5) Aplicar cupón al carrito total dependiendo de la cantidad de productos en el carrito

De manera similar, puede usar el siguiente script para aplicar un cupón de WooCommerce mediante programación solo cuando hay una cantidad mínima de productos en el carrito . Por ejemplo, supongamos que desea agregar un descuento cuando los clientes tienen 4 o más productos en sus carritos:

 add_action('woocommerce_before_cart','QuadLayers_apply_coupon_cart_values');
función QuadLayers_apply_coupon_cart_values(){ 
        
        // cupón creado previamente
        $código_cupón = 'auto_cupón';            
        // obtener cupón
        $cupón_actual = WC()->carrito->obtener_cupones();       
        // obtener el conteo de productos
        $P_count =WC()->cart->get_cart_contents_count();

        // el cupón no se ha aplicado antes de que && condicional sea verdadero
        if(vacío($cupón_actual)&&$P_count>=4):
            // Aplicar cupón
            WC()->carrito->aplicar_cupón( $código_cupón);
            wc_print_avisos();             
        // el cupón se ha aplicado && condicional es falso
        elseif(!empty($cupón_actual)&&$P_count<4):
            // quitar cupón
            WC()->carrito->remove_coupons( sanitize_text_field( $coupon_code ));
            wc_print_avisos();        
            WC()->carrito->calcular_totales();             
            echo '<div class="woocommerce_message"> Se eliminó el cupón</div>';
        // Condicional es FALSO && no se aplica cupón
        else:// No hacer nada  
            echo '<div class="woocommerce_message"> Error desconocido</div>';
        terminara si;
}

Si aplicar un descuento cuando los compradores compran 4 o más productos no tiene mucho sentido para su negocio, puede reemplazarlo con cualquier otro número que desee. La nueva variable utilizada aquí es $P_count , donde se almacena la cantidad de productos agregados al carrito. Esto le permite tener un condicional sólido que agregará o eliminará el cupón solo cuando sea necesario. Aplicar cupones en WooCommerce - Cupones según cantidad de productos Esos son solo algunos ejemplos de cómo puede aplicar un cupón de WooCommerce mediante programación, pero las posibilidades son infinitas. ¡Toma estos guiones como base y da rienda suelta a tu creatividad para crear tus propios guiones!

Instancias de objeto WC

Esta es la lista completa de las instancias de objetos de WooCommerce que usamos en todas las secuencias de comandos anteriores, además de algunas otras que pueden ser útiles cuando desea agregar descuentos mediante programación:

  • WC()->carrito->apply_coupon('código_cupón'); Aplica el cupón especificado a los totales del carrito.
  • WC()->carrito->remove_coupons( 'coupon_code'); Elimina el cupón especificado de los totales del carrito.
  • WC()->carrito->tiene_descuento( 'código_cupón'); Devuelve si se ha aplicado o no un descuento.
  • WC()->carrito->obtener_cupones(); Obtiene los cupones aplicados actualmente, si existen.
  • WC()->carrito->subtotal; Obtiene el valor del carrito subtotal.
  • WC()->carrito->get_cart_contents_count(); Obtiene el número de artículos en el carrito.
  • WC()->cart->get_cart() Devuelve el contenido del carrito en una matriz.
  • WC()->carrito->calcular_totales(); Recalcula los totales del carrito.
  • WC()->carrito->total; Recupera el total del carrito (después del cálculo).
  • WC()->carrito->está_vacío(); Comprueba si el carrito está vacío. Devuelve bool.
  • WC()->carrito->get_coupon_discount_amount( 'coupon_code' ); Obtiene el importe del descuento para un código de cupón especificado.
  • WC()->carrito->necesita_pago(); Comprueba si se requiere el pago. Devuelve bool.

Bonificación: cómo aplicar automáticamente un cupón en WooCommerce con un complemento

En esta sección, le mostraremos cómo aplicar cupones automáticamente usando URL de cupones. La gran ventaja es que los clientes no necesitan recordar el código por lo que puedes enviarlo directamente a través de tu newsletter o redes sociales. Cuando los usuarios hagan clic en el enlace, se les aplicará automáticamente el descuento. Estos cupones son una excelente opción para potenciar tus ventas en fechas especiales como Black Friday o Navidad o cuando ofreces ofertas flash en tu tienda.

Aplicar cupones automáticamente con cupones avanzados para WooCommerce

Para ello, utilizaremos un complemento gratuito llamado Advanced Coupons for WooCommerce que puedes descargar desde el repositorio de WordPress.

  1. Primero, instale y active el complemento.
  2. Luego, en su tablero de WordPress, vaya a WooCommerce > Cupones para crear su enlace de cupón. Dependiendo de la versión de WooCommerce que utilice, es posible que deba ir a Marketing > Cupones . Presiona Agregar cupón .
  3. En la siguiente pantalla, nombre su cupón y una descripción (opcional). Luego ingrese los detalles del cupón en la sección Datos del cupón. Debe elegir el tipo de descuento (porcentaje, carrito fijo o producto fijo) y el monto del descuento. Ten en cuenta que el importe será un porcentaje o una cantidad fija en función del tipo de descuento que elijas. Además, puede elegir una fecha de vencimiento y conectar el descuento a una cuenta de afiliado.
  4. En la pestaña Restricciones de uso , puede establecer restricciones para su cupón. Por ejemplo, puede limitar el gasto mínimo o máximo, limitar el descuento para ciertos productos, etc. Además de eso, en Límites de uso , puede establecer un límite para la cantidad de veces que se puede usar el cupón y limitar el uso por usuario. NOTA : Le recomendamos que limite el uso por usuario para que solo puedan usarlo una vez.
  5. Después de eso, vaya a la sección Cupones de URL e ingrese los detalles de su cupón. Seleccione una URL a la que se redirigirá a los clientes y cree un mensaje de éxito. Verá que se generará automáticamente una URL de cupón. Sin embargo, si desea personalizarlo, puede usar el cuadro Anulación de URL de código .
  6. Finalmente, presiona Publicar y ¡listo!

Una vez que haya creado la URL de su cupón, ¡promocione usando su boletín informativo y las redes sociales para aumentar sus ventas!

Extra: Cómo mostrar el formulario para ingresar el código de cupón por defecto

Finalmente, veamos cómo mostrar el formulario para ingresar códigos de cupón por defecto para que sea más notorio. Para hacer esto, puede anular la plantilla checkout/form-coupon.php en su tema secundario y eliminar style=display:none de la siguiente línea de código:

 <form class="checkout_coupon" method="post">

Para obtener más formas de editar los campos de código de cupón de WooCommerce, consulte esta guía .

Conclusión

En general, los descuentos son una excelente manera de alentar a sus clientes a comprar en su tienda y aumentar sus ventas. Puedes usarlos para fechas importantes como Navidad o Black Friday, para premiar a tus clientes fieles o para promover mayores ventas.

En esta guía, ha aprendido cómo crear un cupón en WooCommerce y cómo aplicarlo mediante programación. Además, hemos visto diferentes ejemplos para aplicar los cupones a:

  1. todos los productos
  2. Productos específicos por ID
  3. El valor del carrito subtotal
  4. El carrito total dependiendo de la cantidad de productos en el carrito

Puedes tomar estos scripts como base y personalizarlos para aprovechar al máximo los cupones de tu tienda.

Finalmente, es importante tener en cuenta que, aunque los cupones y los descuentos pueden ayudarlo a aumentar las tasas de conversión, no debe abusar de ellos. Asegúrese de ofrecerlos a los clientes adecuados en el momento adecuado. De lo contrario, si constantemente ofrece descuentos a alguien, puede afectar su reputación.

Para obtener más guías para personalizar su tienda mediante programación, puede consultar las siguientes guías:

  • ¿Cómo editar la página de la tienda de WooCommerce mediante codificación?
  • Función WooCommerce para agregar al carrito programáticamente
  • Agregar campos personalizados a la página de pago

¿Usaste estos scripts? ¿Tiene usted alguna pregunta? ¡Háganos saber en la sección de comentarios!