Avisos
Vaciar todo

[Resuelto] Establecer un importe mínimo (sin contar los gastos de envío)para poder finalizar el pedido  

 
Jose
 Jose
Estimable Member

Hola, quiero que sea obligatorio realizar un pedido mínimo de 15€. He encontrado un código que funciona, pero que me incluye los gastos de envío, por ejemplo, si los gastos de envío son de 4€, y con un pedido de 11€ ya permite realizar el pedido. Lo que necesito es que lleguen a 15€ con tan sólo el precio de los productos (sin contar el precio del envío). Anoto el código que tengo a continuación por si es posible modificar algo.

 

 

/* Establecer un importe minimo para poder finalizar el pedido */
function woocommerce_importe_minimo() {
$minimum = 15; // Debes cambiar el 450 por el importe mínimo que quieras establecer en tu pedido
if ( WC()->cart->total < $minimum ) {
if( is_cart() ) {
wc_print_notice(
sprintf( ' Debes realizar un pedido mínimo de %s para finalizar tu compra.' , // Pon aquí el texto que quieras que se muestre en el carrito de compra.
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
} else {
wc_add_notice(
sprintf( 'No puedes finalizar tu compra. Debes realizar un pedido mínimo de %s para finalizar su compra.' , // Pon aquí el texto que quieras que se muestre en la página de finalizar compra.
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
}
}
}
add_action( 'woocommerce_checkout_process', 'woocommerce_importe_minimo' );
add_action( 'woocommerce_before_cart' , 'woocommerce_importe_minimo' );

Contenido solo visible a usuarios registrados

Respondido : 18/11/2024 9:00 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose.

Prueba con esto:

add_action('woocommerce_checkout_process', 'wc_check_minimum_order_amount');
add_action('woocommerce_before_cart', 'wc_check_minimum_order_amount');

function wc_check_minimum_order_amount() {
$minimum_order_amount = 15; // Establece aquí el total mínimo del pedido
$cart_subtotal = WC()->cart->subtotal; // Obtiene el subtotal sin incluir gastos de envío

if ($cart_subtotal < $minimum_order_amount) {
// Mensaje de error en el checkout
if (is_checkout()) {
wc_add_notice(
sprintf(
__('El pedido mínimo es de %s. Tu total actual es de %s.', 'woocommerce'),
wc_price($minimum_order_amount),
wc_price($cart_subtotal)
),
'error'
);
}

// Mensaje de error en la página del carrito
if (is_cart()) {
wc_print_notice(
sprintf(
__('El pedido mínimo es de %s. Tu total actual es de %s.', 'woocommerce'),
wc_price($minimum_order_amount),
wc_price($cart_subtotal)
),
'error'
);
}
}
}

 

Cambia el valor de $minimum_order_amount por el total mínimo.
Personaliza los mensajes de error en los textos dentro de sprintf().

 

Un Saludo

Respondido : 18/11/2024 10:18 am
Jose me gusta

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Jose
 Jose
Estimable Member

@pepesoler

Perfecto, está funcionando bien ahora.

Muchas gracias Pepe

Respondido : 18/11/2024 10:40 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose.

 

¡Excelente! Me alegra saber que has podido solucionarlo 😀

Recuerda que estamos a tu disposición para cualquier otra consulta o ayuda que necesites.

 

Un Saludo

Respondido : 18/11/2024 10:46 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress