# Maximum Items per Order From a Category

> Caps how many items from a category one order can contain, useful for limited drops, rationed products or age-restricted goods.

- Type: PHP
- Runs: Run everywhere
- Category: [WooCommerce](https://wpide.com/library/category/woocommerce/)
- Requires: WooCommerce
- Tags: woocommerce, cart, limits, categories
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/woo-category-max-items/

## Code

```php
$wpide_cat_max = array(
    'categories' => array( 'limited-edition' ), // Category slugs.
    'maximum'    => 2,                          // Items allowed per order.
);

add_action( 'woocommerce_check_cart_items', function () use ( $wpide_cat_max ) {
    $count = 0;

    foreach ( WC()->cart->get_cart() as $item ) {
        if ( has_term( $wpide_cat_max['categories'], 'product_cat', $item['product_id'] ) ) {
            $count += (int) $item['quantity'];
        }
    }

    if ( $count > $wpide_cat_max['maximum'] ) {
        wc_add_notice( sprintf( 'You can order up to %1$d limited edition items per order. Please remove %2$d.', $wpide_cat_max['maximum'], $count - $wpide_cat_max['maximum'] ), 'error' );
    }
} );
```

## Notes

All products in the listed categories count together, and other products are not limited.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Maximum Items per Order From a Category" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
