This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Max Quantity For WC Shops


Requires WooCommerce 3.0 or above.

Max Quantity For WC Shops is a simple extension for WooCommerce that only does one thing: it lets you set a max limit for the number of items that can be added to the cart, for each product, per order.

It’s like one of those signs at the grocery store that says, “LIMIT 2 PER CUSTOMER!” This plugin will not add a sign like that, but the quantity input field (pictured above) will hit a limit.

You can simply set a universal limit to affect all products in your WooCommerce store. If you prefer, you can set a different limit for each product, individually. Each product’s own limit will always override the universal limit.

This works for all products in your WooCommerce store: Simple and Variable products.

Customers do not have to be logged in for this to work. This works for guest buyers, as well as logged-in buyers.


I am not affiliated with WooCommerce, WooThemes, or Automattic. I provide this plugin as a free service to the WP community (originally created for my own personal use).


  • The universal max setting. It is labeled, “Maximum Quantity Limit Per Product.” It is found at WooCommerce -> Settings -> Products tab -> “Inventory” link

  • An individual product’s “Max Quantity Per Order” setting. It is found on the individual product page, in the Product Data box, on the Inventory tab.


Install and Activate

  1. In your WordPress dashboard, go to Plugins –> Add New.
  2. Search for “Max Quantity For WC Shops” to find the plugin.
  3. When you see “Max Quantity For WC Shops”, click “Install Now” to install the plugin.
  4. Click “Activate” to activate the plugin.


The plugin only has 2 settings. You can use these settings in a variety of ways to accomplish the unique goals of your store. See the documentation for specific ways to use these settings:

  1. To set a universal limit to affect all products, go to WooCommerce -> Settings -> Products tab. Click “Inventory”. Scroll down to “Maximum Quantity Limit Per Product”. Set your desired limit there.
  2. To set an individual product limit for a single product, go the product’s own “Edit product” page. Scroll down to the “Product Data” box. Click on the Inventory tab. There, you’ll see the setting called, “Max Quantity Per Order.” Set your desired max limit for that product, there.


Does this plugin work with products with variations (Variable products)?

Yes, since version 1.4.

Can I set a different limit for different products?

Yes, since version 1.4.


October 8, 2020
Thanks for this plugin. We use it along with WP Job Manager and WooCommerce Subscriptions. It ensures that our users can only purchase one subscription plan. Before, we faced the issue that a few users accidentally purchased a plan twice. Thanks for investing your time. 🙂 Florian
May 12, 2020
This works like a charm. It let me set a max of 999 units per product for some bulk product boxes.
March 18, 2020
I really like this plugin, but was experiencing the same frustrations of it not working with variations. I did a little testing…you guys remember there is a global setting as well? It seems that global setting value needs to be set to accommodate the variations. For example, if you have a product with 2 variations and want to limit the number of single order purchases to 2, then set the global value to 4. Get it? If product variations = 5 with single order limit of 2, then set global value to 10. Not ideal, but it works…at least for me.
Read all 34 reviews

Contributors & Developers

“Max Quantity For WC Shops” is open source software. The following people have contributed to this plugin.


“Max Quantity For WC Shops” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “Max Quantity For WC Shops” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fixed – Can no longer use WC’s name in plugin.


  • Fixed – Fixed a bug that was ignoring the max on some Variable Products.


  • Fixed – Honor the “Sold individually” setting above the universal max limit.


  • New – Added filters to the error message strings.
  • Fixed – The max was not being enforced the input field for Variable products.
  • Fixed – The max now works even when backorders are enabled.


  • Fixed – The max limit also works on Variable Products, as long as backorders are not enabled.


  • Fixed a fatal error regarding get_parent_data().


  • New – For variable products, the stock quantity display has been restored. Previously, the stock quantity was hidden for products with variations. This only affected those who were displaying the stock quantity on the product page.
  • Fixed several PHP notices. Thanks to @brettmhoffman.
  • Internationalization – load_plugin_textdomain is now loaded on init rather than plugins_loaded, as it should be.


  • New – Support for different limits for individual products. See the version 1.4 release post for details.
  • New – Support for Variable products (products with variations). Now, the plugin works with all products, Simple and Variable.
  • Code refactoring – Many functions were renamed:
    isa_get_qty_alread_in_cart’ was changed to ‘isa_wc_max_qty_get_cart_qty
    isa_max_item_quantity_validation’ was changed to ‘isa_wc_max_qty_add_to_cart_validation
    add_isa_max_quantity_options’ was changed to ‘isa_wc_max_qty_options
    isa_woo_max_qty_load_textdomain’ was changed to ‘isa_wc_max_qty_load_textdomain
    isa_woo_max_qty_update_cart_validation’ was changed to ‘isa_wc_max_qty_update_cart_validation
    isa_woocommerce_quantity_input_args’ was changed to ‘isa_wc_max_qty_input_args
  • Code refactoring – One function was removed:
    isa_woocommerce_available_variation, which was hooked to woocommerce_available_variation, was removed.


  • New – Added compatibility with the WooCommerce Direct Checkout plugin


  • Fix – The setting had disappeared on last WC update.


  • New – Added Dutch translation, thanks to Martijn Heesters.


  • New – Added German translation, thanks @tofuSCHNITZEL.


  • Fix – Did not calculate quantity properly if you UPDATE Quantity on Cart page. This did not let some users DECREASE or INCREASE the quantity while on the cart page.
  • Maintenance – Tested and passed for WordPress 4.0 compatibility.


  • New – Added .pot translation file.
  • New – Added translations for French, Hindi, and Spanish languages.
  • New – Changed textdomain to plugin slug.
  • Maintenance – Tested and passed for WP 3.9 compatibility.


  • Fix: added _update_cart_validation to avoid manual override on cart update at checkout.
  • Tweak: remove passed=true in validation checks, use the passed parameter instead.
  • Maintenance: replace woocommerce – add_error with wc_add_notice.


  • Fix: now checks for manually-typed quantity because maximum limit was able to be overridden by typing in a number.
  • Fix: a problem in which limit was ignored if product was previously added to cart, then added another item to cart, then re-added this item to cart.
  • Maintenance: Updated description to reflect that this plugin does not yet support products with variations.


  • Fix: maximum limit was able to be overridden by adding a new instance of the item to cart.
  • Fix: maximum limit was able to be overridden by updating quantity on cart page.


  • Tested for WP 3.8 compatibility.


  • Tested for WP 3.7.1 compatibility.


  • bug fix related to syncing with Git.


  • bug fix related to syncing with Git.


  • bugfix related to syncing with Git.


  • Tested for WP 3.6.1 compatibility


  • Initial release.