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
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
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