Buenos días,
Tengo dos opciones de envío configuradas: una es envío gratuito para pedidos superiores a X€ y la otra envío standard (pedidos inferiores a esa cantidad).
Por otra parte, tengo un cupón con un % de descuento.
Mi duda es la siguiente:
Cuando una persona llega a la cantidad para el envío gratuito, al aplicar el cupón hay ocasiones en los que se queda por debajo del pedido mínimo, pero sigue apareciendo envío gratuito; no se actualiza después de aplicar el cupón. Se actualiza el descuento del cupón, pero al bajar dicha cantidad por debajo del pedido mínimo, debería entonces poner envío standard x€ (esto es lo que no se actualiza).
Cómo podría configurar esto?
Gracias de antemano,
Saludos!
Hola Beatriz.
En los ajustes del envío Gratuito tienes que desmarcar la opción " Aplicar la regla de pedido mínimo antes del descuento del cupón "
Un saludo
Muchas gracias Pepe! Se actualiza el envío pero el siguiente mensaje no:
y puede resultar confuso.
Debería poner "te quedan x€ para envío gratis", que es lo que pone por defecto cuando no llegas al pedido mínimo.
Si me podéis ayudar con esto por favor!
Gracias
Hola Beatriz.
Puedes probar la siguiente función:
dd_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 = 20.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' );
}
}
}
Puedes añadirla en el archivo functions.php que encontrarás dentro de la carpeta de la plantilla o si utilizas algún plugin.
No et aseguro que funcione ya que por defecto el mensaje se genera de las opciones del envío gratuito no toma en cuenta los cupones.
Otra opción sería ocultar el mensaje.
Un saludo