You can let customers add multiple product variations to cart at once in WooCommerce by replacing the default single-variation dropdown flow with a table-style form that lists every variation alongside its own quantity input, letting shoppers submit one combined order instead of repeating the add-to-cart process per variation.
Why This Matters for Bulk and Wholesale Orders
- B2B and wholesale customers often need several sizes or colors of the same product in one order
- The default WooCommerce flow forces one variation selection and one add-to-cart click at a time
- A combined order form significantly speeds up repeat and bulk ordering
Step 1: Understand the Core Challenge
By default, WooCommerce’s variation selector only allows one variation (and one quantity) to be added per form submission. Supporting multiple variations at once means either building a custom form that loops through all available variations with individual quantity fields and a combined add-to-cart handler, or using a purpose-built plugin that already implements this pattern reliably.
Step 2: The Custom Development Approach
A custom multi-variation form typically needs three pieces: a template listing each variation with its own quantity input, a JavaScript handler collecting all non-zero quantities on submit, and a server-side function looping through the submitted variation/quantity pairs to add each to the cart individually via WC()->cart->add_to_cart(). This is genuinely custom work — the complexity scales with how many attributes and variations your products have.
Step 3: The Plugin Approach
Several established WooCommerce extensions handle bulk variation ordering out of the box, offering configurable table layouts, quantity discount rules, and swatch-based variation display, which is often faster to implement than a fully custom build for stores without ongoing developer support.
Troubleshooting
Custom Build Adds the Wrong Variation to Cart
Double-check that each quantity input’s name/value correctly maps to its specific variation ID — a common bug is submitting the parent product ID instead of the selected variation’s ID.
Stock Levels Don’t Update Correctly With Bulk Submission
Confirm your combined add-to-cart handler processes each variation as a separate add_to_cart() call rather than trying to bundle multiple variations into a single call, which WooCommerce’s cart API doesn’t support directly.
Frequently Asked Questions
Does WooCommerce support this natively?
No — by default, only one variation can be selected and added to cart per form submission; multi-variation ordering requires custom development or a dedicated plugin.
Is a plugin or custom code better for this?
A plugin is usually faster to deploy and more maintainable long-term unless you have very specific requirements that justify custom development.
Does this work for simple products too, not just variations?
Yes — the same underlying pattern (a table listing products or variations with individual quantity fields) works for simple product catalogs as well.
Conclusion
Letting customers add multiple product variations to cart at once in WooCommerce requires moving beyond the default one-at-a-time flow, either through custom development or an established bulk-ordering plugin. For most stores without dedicated developer resources, a proven plugin is the more practical route.
See also How to Let Customers Request a Quote for Multiple Products at Once. Then read How to Add a Custom Field to WooCommerce Product Variations.
Prefer no code? All-in-One Utilities Woo Add-on adds over 50 WooCommerce features, so you can switch them on without code.