Aprende a configurar Avisos para Envíos Gratuitos en WordPress

Aprende a configurar mensajes para envíos gratuitos
Como todos sabemos unas de las principales estrategias a la hora de aumentar el valor del carrito por parte del cliente es ofrecerle descuentos en el envío o incluso el envió gratuito siempre que se cumplan una serie de condiciones.
Tabla de contenidos

Comparte esta entrada

Como todos sabemos unas de las principales estrategias a la hora de aumentar el valor del carrito por parte del cliente es ofrecerle descuentos en el envío o incluso el envió gratuito siempre que se cumplan una serie de condiciones.

Una de las principales condiciones que usamos a la hora de ofrecer el Envío Gratuito es que nuestros clientes lleguen a una cantidad mínima en el carrito de la compra, cuando este llega a ese valor obtendrán un descuento gracias a que se le eliminara los costes de envíos.

Normalmente este aviso suele aparecer en una barra de tareas que suele estar arriba de todo en nuestra página web, este tipo de funcionamiento lo podemos conseguir con muchos de los plugins que podemos encontrar en los distintos repositorios de plugins de WordPress.

Pero…. ¿Sabías que hay una opción de mostrar esta información sin tener que hacer uso de plugins de tercero y sin tener que mostrar el aviso en toda tu página web?

Pues si es posible y en esta guía intentaremos mostrarte los pasos a seguir para conseguir este funcionamiento simple, que seguramente nos ayudara a aumentar el ticket medio de compra de nuestros clientes.

Notificar cuanto queda en la página checkout

A continuación, te vamos a ofrecer un código que deberás añadir en el fichero functions.php del Theme que tengamos instalado en nuestra página web. Como recomendación y antes de realizar este paso te recomiendo que en el caso de que no tengas creados un Theme Child del tema instalado lo hagas, ya que cualquier actualización que hagamos a posteriori eliminara esto que a continuación vamos a hacer.

add_action( 'woocommerce_before_checkout_form_cart_notices', 'dl_notificacion_envio_carrito_checkout', 10, 0 );

function dl_notificacion_envio_carrito_checkout() {

                if ( is_checkout() && WC()->cart ) {

                               $total = WC()->cart->get_cart_contents_total(); // Después del dto

                               $limit = 100.00; // Pon aquí cual es el precio del envío gratuito

                               // Condicional si el carrito es inferior a la cantidad

                               if ( $total < $limit ) {

                                               // Calcular diferencia

                                               $diff = $limit - $total;

                                               $diff_formatted = wc_price( $diff );

                                               // Mostrar aviso

                                               wc_add_notice( sprintf( "Añade %s para tener envío gratuito!", $diff_formatted ), 'notice' );

                               }

                }

}

Este código lo que principalmente nos permite configurar es por un lado el dinero mínimo que hay que hacer para activar los envíos gratuitos (es la variable $limit) y el mensaje que queremos mostrarle a nuestros clientes (podemos editar el texto que hay dentro de la función wc_add_notice( sprintf( “TEXTO MODIFICAR”,  $diff_formatted ), 'notice' );

Mostrar el Mensaje en la ficha del producto

Pues como antes os vamos a facilitar el código que podéis utilizar dentro del fichero functions.php del Theme, este código nos permitirá indicar al cliente la cantidad restante para conseguir el envío gratuito debajo del botón de añadir al carrito en la ficha de los productos. El código es el siguiente:

add_action( 'woocommerce_after_add_to_cart_button', 'dl_notificacion_envio_carrito_checkout_2', 10, 0 );

function dl_notificacion_envio_carrito_checkout_2() {

                if ( is_checkout() && WC()->cart ) {

                               $total = WC()->cart->get_cart_contents_total(); // Después del dto

                               $limit = 100.00; // Pon aquí cual es el precio del envío gratuito

                               // Condicional si el carrito es inferior a la cantidad

                               if ( $total < $limit ) {

                                               // Calcular diferencia

                                               $diff = $limit - $total;

                                               $diff_formatted = wc_price( $diff );

                                               // Mostrar aviso

                                               wc_add_notice( sprintf( "Añade %s para tener envío gratuito!", $diff_formatted ), 'notice' );

                               }

                }

}

Como la anterior funcionalidad los datos que debemos personalizar son el total para el envío gratuito en la variable $limit y el mensaje a mostrar al cliente en la función al final del código.

Mostrar el mensaje en el Carrito

Por ultimo, os ofreceré un tercer código por el cual podemos mostrar este tipo de notificación al cliente en la página del carrito, con esto prácticamente cubrimos las zonas importantes de la nuestra Tienda Online.

/ Muestra un mensaje de upsell en el carrito cuando el cliente aún no ha alcanzado el gasto mínimo para envío gratis

if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) ){

                add_action( 'woocommerce_after_calculate_totals', 'add_upsell_message_for_free_shipping' );

                function add_upsell_message_for_free_shipping( $cart ){

                                $min_amount = 60; // Escribe aquí el gasto mínimo que debe hacer el cliente para conseguir envío gratis. Por ejemplo, si ofreces envío gratis a partir de 60€, entonces escribe 60

                                $upsell_message = 'Recuerda que si haces un pedido de {{min_amount}}, los gastos de envío te salen GRATIS. Añade algún producto más al carrito y ¡ahórrate los portes!';

                               // No muestra nada si no está en la página de carrito

                               if ( !is_cart() ) {  return; }

                               // Obtiene el importe total del carrito

                               $cart_total = WC()->cart->subtotal;

                               // Reemplaza la variable {{min_amount}}

                               $currency = get_woocommerce_currency();

                               $upsell_message = str_replace( '{{min_amount}}' , $min_amount.$currency, $upsell_message );

                               // Reemplaza la variable {{remaining_amount}}

                               $remaining_amount = $min_amount - $cart_total;

                               $remaining_amount .= $currency;

                               $upsell_message = str_replace( '{{remaining_amount}}' , $remaining_amount, $upsell_message );        

                               if ( !empty( $min_amount ) && ( $min_amount > $cart_total ) ) {

                                               // Muestra el mensaje upsell

                              wc_add_notice( $upsell_message, 'notice' );

                               }

                }

}

Como podrás ver este código es algo diferente a los dos primeros, pero la función que realiza es el mismo, en el tendremos que modificar la variable $min_amount para establecer la cantidad mínima para que el envío sea gratuito y la variable $upsell_message para escribir el mensaje personalizado que queremos enviar a nuestros clientes.

Pues con esto terminamos nuestra guía, recordar que, si necesitas un diseñador Tienda Online, nos tenéis disponible, solo tenéis que escribirnos por Whatsapp o por correo electrónico y resolveremos todas las dudas que tengáis.

¿Buscas Hosting?

Hosting

Sígueme en Redes Sociales

Sobre la firma

Luis Alberto Agea Duran

Diseñador Web Freelancer desde 2016. Previamente, trabajé para empresas como Estepona Web y en Franclima Hostelería. He colaborado con otras empresas en proyectos como MasEmpresas de la Confederación de Empresarios de Andalucía. Actualmente diseño páginas web con WordPress y Tiendas Online

Apúntate a nuestro boletín

También te puede interesar...

Ir al contenido