Si necesitas asegurar la rentabilidad de cada transacción o evitar pedidos pequeños que no cubran los costes de envío y gestión, este snippet impide que el cliente avance al checkout hasta alcanzar la cantidad mínima configurada, mostrando un aviso descriptivo en la página del carrito. Cambia el límite mínimo en la línea $minimo = 30;
Puedes utilizar este sencillo snippet en php desde el archivo functions.php.
Importante: no modifiques directamente el archivo functions.php del tema que tengas instalado. Genera un tema hijo con alguno de los plugins del repositorio de WordPress y actívalo. Cuando lo tengas, entra en el functions.php del tema hijo. Una alternativa es instalar algún plugin que permite incrustar código sin problema de pérdida en la actualización del tema.
/**
* Establecer un importe mínimo de compra en WooCommerce
*/
add_action( 'woocommerce_check_cart_items', 'lc_pedido_minimo_woocommerce' );
function lc_pedido_minimo_woocommerce() {
// Cambia este valor al importe mínimo que desees
$minimo = 30;
// Solo comprobar en el carrito o en la página de pago
if ( is_cart() || is_checkout() ) {
$total_carrito = WC()->cart->subtotal;
if ( $total_carrito < $minimo ) {
wc_add_notice(
sprintf(
'El importe mínimo para realizar un pedido es de %s. Tu total actual es de %s.',
wc_price( $minimo ),
wc_price( $total_carrito )
),
'error'
);
}
}
}
Nota: Utiliza el gancho nativo (woocommerce_check_cart_items) y se ejecuta justo antes de permitir la navegación hacia el proceso de pago, bloqueando la acción de forma limpia y estándar.