Variation matrix Pro
Pro: show a variable product's variations as a grid so a buyer can order several at once, and edit variations in bulk.
Updated September 14, 2026
A buyer who wants four sizes in three colours should not have to choose, add, and go back eleven times. The variation matrix lays a variable product’s variations out as a grid — one attribute down the side, another across the top — with a price in every cell and, in order mode, a quantity box beside it. They fill in what they want and submit once.
Two modes
Order mode shows a quantity box in every cell that can be bought. Blank cells are ignored.
Price mode shows the grid as a price list, with no quantity boxes at all. Useful for a wholesale price sheet or a size guide with prices on it.
Where it appears
Turn it on for every variable product, or product by product from a box in the product editor. It replaces WooCommerce’s own variation dropdowns on the products you choose.
You can also place a grid anywhere with [praetor_variations id="123"], optionally with mode="price" or your own row and col attributes.
When it stands aside
Two situations, both deliberate:
- A product with three or more variation attributes. A grid has two dimensions. Rather than collapse the third and quietly show the price for one arbitrary value of it, the matrix declines.
- A product with more than 200 variations. A 40×40 grid is 1,600 cells and several thousand elements — a page a phone cannot render.
In both cases WooCommerce’s own selectors stay exactly where they are. The customer loses a convenience, never the ability to buy.
Prices are your prices
Every figure in the grid comes from the same pricing pipeline the product page uses, so a trade customer sees their trade price, a running campaign shows its discount, and tax display follows your settings. The matrix renders prices; it does not calculate them.
Adding is validated, and partial adds are explained
Every cell you fill in goes through exactly the validation a single add-to-cart does — stock, purchasability, your quantity rules and your access policies. Nothing is skipped because it arrived in a batch.
If some lines cannot be added, the ones that can still go in, and you are told which were refused and why, in the same words the product page would use. Nothing in your selection is silently changed to a quantity you did not ask for.
Combinations you do not sell
A cell with no variation behind it reads as unavailable rather than as an empty box a customer will try to click. Screen readers hear "Not available" rather than nothing at all.
Bulk editing
There is no bulk variation editor in wp-admin yet. What exists is the endpoint behind one, and this article described the screen rather than what shipped — so if you have been looking for it, it is not hidden, it is absent.
The endpoint is real and is what a screen will use when it lands. It applies a change to the variation ids you name, and only those: there is no "apply to everything matching a filter" path, because a filter re-evaluated on the server can differ from the rows somebody was looking at when they pressed the button. An id belonging to a different product is refused outright rather than skipped. It accepts regular and sale price, stock quantity and status, SKU, weight, image and whether a variation is enabled, and ignores anything it does not recognise rather than passing it through to the product. It takes up to 100 ids per request and refuses more, so a product with 900 variations is edited in pages rather than in one request that times out halfway.
Until the screen exists, WooCommerce’s own variations panel is the place to edit them, and the Praetor box on the product editor is where the storefront matrix is switched on.
Still stuck? Email [email protected].