¿Cómo configurar el pedido en woocommerce para que sea obligatorio que se compren productos de 8 en 8 por ejemplo?

Imaginemos que nuestros productos de la tienda tienen todos la misma forma, y que por logística nos interese completar pedidos de 8 en 8 para así maximizar los costes de envío.
Podríamos comprar 5 artículos A y 3 artículos B, o directamente 8 del B.

¿Cómo realizamos este cambio en nuestro wordpress con woocommerce?

Recurriendo como casi siempre a nuestro estimado functions.php, añadiendo estas lineas:

IMPORTANTE, LO HAREMOS USANDO LA CARACTERÍSTICA PESO QUE PONDREMOS A 1KG TODOS LOS PRODUCTOS DE LA TIENDA PRÉVIAMENTE A EDITAR EL ARCHIVO .PHP


add_action( 'woocommerce_check_cart_items', 'cldws_set_weight_requirements' );
function cldws_set_weight_requirements() {
 // Only run in the Cart or Checkout pages
 if( is_cart() || is_checkout() ) {
 global $woocommerce;
 // Get the Cart's content total weight
 $cart_contents_weight = WC()->cart->cart_contents_weight;
 // Compare values and add an error is Cart's total weight
 if (( $cart_contents_weight % 8 ) != 0) {
 // Display our error message
 wc_add_notice( sprintf('<strong>Los pedidos se han de hacer en cajas de 8 productos (8 -16 - 24 etc)</strong>'
 . '<br />Acualmente tienes: %s%s productos. Añade o quita del carrito hasta completar un número múltiplo de 8.',
 $cart_contents_weight,
 get_option( 'unidades' ),
 get_permalink( wc_get_page_id( 'shop' ) )
 ),
 'error' );
 }
 }
}

Comos siempre mucho cuidado con la manipulación de este archivo, tened siempre al tanto las copias de seguridad de vuestro servidor por si tenéis que volver a restaurar la web.

Os recomendamos usar el plugin «My Custom Functions» para que no tengamos problemas al editar nuestro functions.php