In WooCommerce, I am trying to set a minimum quantity for cart items from a specific product category.
Based on "Minimum cart item quantity for a specific product category in WooCommerce", here is my code attempt :
add_action( 'woocommerce_check_cart_items', 'wc_min_item_required_qty' );
function wc_min_item_required_qty() {
$category = 'games'; // The targeted product category
$min_item_qty = 4; // Minimum Qty required (for each item)
$display_error = false; // Initializing
// Loop through cart items
foreach(WC()->cart->get_cart() as $cart_item ) {
$item_quantity = $cart_item['quantity']; // Cart item quantity
$product_id = $cart_item['product_id']; // The product ID
// For cart items remaining to "Noten" producct category
if( has_term( $category, 'product_cat', $product_id ) && $item_quantity < $min_item_qty ) {
wc_clear_notices(); // Clear all other notices
// Add an error notice (and avoid checkout).
wc_add_notice( sprintf( 'You should at least pick', $min_item_qty ,'products for' ,$category, 'category' ), 'error' );
break; // Stop the loop
}
}
}
It doesn't work as I would like as the a minimum quantity is set for the first cart item from the specific product category, but not globally for all items from that specific product category. Any help is appreciated.