Avisos
Vaciar todo

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

4 Respuestas
2 Usuarios
1 Reactions
8 Visitas
Jose
 Jose
Respuestas: 145
Estimable Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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
Tags del tema
Pepe
 Pepe
Respuestas: 42195
Illustrious Member Admin
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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 reaccionó
Jose
 Jose
Respuestas: 145
Estimable Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@pepesoler

Perfecto, está funcionando bien ahora.

Muchas gracias Pepe


 
Respondido : 18/11/2024 10:40 am
Pepe
 Pepe
Respuestas: 42195
Illustrious Member Admin
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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