Este simple fragmento de código despliega un mensaje de upsell en el carrito cuando el cliente aún no ha alcanzado el monto mínimo requerido para obtener el envío gratuito. Implementar esta técnica de manera fácil te permitirá incrementar el valor promedio de compra en tu tienda, incentivando a los clientes a agregar más productos al carrito para eludir los costos de envío 😉
Una vez que hayas integrado el código, la configuración es sencilla. Primero, crea una opción de envío gratuito basada en un gasto mínimo desde la sección de Envíos en WooCommerce > Ajustes. Posteriormente, especifica en el código snippet el monto mínimo y el mensaje de upsell que deseas mostrar.
Para establecer el monto mínimo de pedido, reemplaza el número 60 en la línea 7 con la cifra deseada.
Para definir el mensaje de upsell, sustituye la frase entre comillas simples en la línea 8 con el texto que prefieras. Puedes incluir la variable «{{min_amount}}» en el mensaje para mostrar la cantidad mínima que has establecido.
También puedes utilizar la variable «{{remaining_amount}}» para indicar la cantidad que le falta al cliente para alcanzar el pedido mínimo con envío gratuito. Por ejemplo, si el pedido mínimo es de 60€ y el cliente tiene productos en el carrito por valor de 45€, esta variable indicará que le faltan 15€ (60€ – 45€ = 15€) para llegar al pedido mínimo.
IMPORTANTE: La variable «{{remaining_amount}}» calcula la cantidad faltante teniendo en cuenta los impuestos.
// 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_before_cart', 'add_upsell_message_for_free_shipping' ); function add_upsell_message_for_free_shipping(){ $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 ) ) { wc_clear_notices(); // Muestra el mensaje upsell wc_add_notice( $upsell_message, 'notice' ); } } }