¿Pedido mínimo de 2 KG y pedido máximo de 50 KG? No hay problema, podemos limitar por peso mínimo y por peso máximo los pedidos de una tienda de WooCommerce sin necesidad de instalar plugins y configuraciones avanzadas.
¿Por qué limitar por peso los pedidos de WooCommerce?
Por diferentes razones. Puede que nuestro proveedor de envíos como SEUR, DHL o GLS, nos pida un peso mínimo de envío para acceder a mejores condiciones en los precios. También puede que no nos compense hacer envíos muy pequeños, y por otra parte, hay plataformas que hasta cierto peso los precios de envío son razonables y luego se disparan porque pasan a un tramo superior. En cualquiera de los casos, vamos a ver cómo implementar esas limitaciones bloqueando el acceso al pago, y pidiendo al usuario que proceda a añadir o quitar productos del carrito según sea el caso.
Función PHP para limitar peso de los pedidos:
Ojo, en esta función tendrías que reemplazar los valores 2 y 50 que corresponden a las validaciones de los pesos de nuestro ejemplo. Hay dos lugares para cambiarlos, te los explicamos en el vídeo. Además, debes cambiar tu mensaje por el que quieras o necesites para los clientes de la tienda.
/* * woofreelance.academy - Limitar peso de los envíos */ add_action('woocommerce_check_cart_items', 'check_cart_weight'); function check_cart_weight() { global $woocommerce; $weight = $woocommerce->cart->cart_contents_weight; if ( $weight < 2 ) { wc_add_notice( __( 'Debes añadir más productos hasta llegar a los 2 KG de envío mínimo.', 'woocommerce' ), 'error' ); } if ( $weight > 50 ) { wc_add_notice( __( 'El peso máximo de los envíos es de 50 KG, no puedes añadir más productos al carrito.', 'woocommerce' ), 'error' ); } } add_action('woocommerce_checkout_process', 'prevent_checkout_if_weight_invalid'); function prevent_checkout_if_weight_invalid() { global $woocommerce; $weight = $woocommerce->cart->cart_contents_weight; if ( $weight < 2 ) { wc_add_notice( __( 'Debes añadir más productos hasta llegar a los 2 KG de envío mínimo.', 'woocommerce' ), 'error' ); return; } if ( $weight > 50 ) { wc_add_notice( __( 'El peso máximo de los envíos es de 50 KG, no puedes añadir más productos al carrito.', 'woocommerce' ), 'error' ); return; } }
Vídeo para limitar por peso los pedidos de WooCommerce:
Como has visto, con esta función tenemos esa limitación implementada. Si no lo has hecho, no olvides seguirnos el nuevo canal de YouTube y activar las notificaciones de los nuevos vídeos.