=== OptionGrid Variation Matrix for WooCommerce ===
Contributors: gerald-scott
Donate link: https://wpintegrate.com/
Tags: woocommerce, variations, bulk order, variable products, variation matrix
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Show all WooCommerce product variations at once in a grid or matrix layout, with quantity boxes and a single bulk add-to-cart button.

== Description ==

OptionGrid Variation Matrix for WooCommerce replaces the standard WooCommerce variation
dropdowns with a layout that shows every variation of a product at the same time. Customers enter a
quantity next to each variation they want and add them all to the cart in one click,
which is far quicker than selecting attributes one combination at a time.

This is particularly useful for wholesale stores, apparel (size and colour grids),
print and packaging suppliers, and any shop where a customer typically buys several
variations of the same product in a single order.

= Two layouts =

* **Grid** — a responsive card for each variation, with a configurable number of columns and spacing.
* **Matrix** — a two dimensional table with one attribute across the top and another down the side. Ideal for size and colour grids.

= Key features =

* Bulk add to cart: choose quantities across many variations and add them all at once.
* Per-product configuration: every product chooses its own layout and display options.
* Show or hide the variation image, attributes, SKU, price, stock status and description.
* Change the heading and intro text site wide, or per product, or hide them entirely.
* Choose plugin styling, minimal styling (layout only) or no plugin CSS at all, and set the accent, text, border, header and cell colours, the base font size and the corner radius without writing any CSS.
* Live stock status, including low stock warnings that follow your WooCommerce threshold.
* Respects per-variation stock levels, minimum and maximum purchase quantities, and backorder settings.
* AJAX add to cart with mini-cart fragment refresh, so the page never reloads.
* Fully translation ready, with a POT file included.
* Templates can be overridden from your theme.
* Optional data removal on uninstall, off by default.

= Pro version =

[OptionGrid Variation Matrix Pro](https://plugins.wpintegrate.com/product/wc-variation-matrix-pro-bulk-variations-table-grid-matrix-for-woocommerce/) adds a **table layout** with a
column for each attribute, and a live **order totals** bar showing the total items,
weight and price of the quantities entered, right above the add-to-cart button. Your
product settings and options carry over unchanged.

= Template overriding =

Copy any file from `optiongrid-variation-matrix/public/templates/` into a
`wc-variation-matrix/` folder in your child theme, and it will be used instead of
the plugin's own template. For example:

`yourtheme/wc-variation-matrix/wcvm-variation-matrix-grid.php`

= Developer hooks =

Actions:

* `wcvm_before_render_matrix` — fires before the matrix markup is output.
* `wcvm_after_render_matrix` — fires after the matrix markup is output.
* `wcvm_before_bulk_actions` — fires inside every layout, between the variations and the add-to-cart button.

Filters:

* `wcvm_is_enabled_for_product` — override whether the matrix shows for a product.
* `wcvm_product_settings` — modify the resolved display settings.
* `wcvm_processed_variation` — modify the data prepared for a single variation.
* `wcvm_locate_template` — change which template file is loaded.
* `wcvm_matrix_output` — filter the final rendered markup.
* `wcvm_labels` — change the resolved heading and intro text.
* `wcvm_style_mode` — force the stylesheet mode at runtime.
* `wcvm_inline_css` — change the inline CSS printed after the stylesheet.

== Installation ==

1. Make sure WooCommerce is installed and activated.
2. Upload the `optiongrid-variation-matrix` folder to `/wp-content/plugins/`, or install the ZIP file through **Plugins > Add New > Upload Plugin**.
3. Activate the plugin through the **Plugins** screen in WordPress.
4. Edit a variable product, open the **Variation Matrix** tab in the Product data panel, and tick **Enable Variation Matrix**.
5. Choose a layout and the details you want to display, then update the product.

Global options live under **WooCommerce > Variation Matrix**, reachable from the
**Settings** link on the Plugins screen, where you can also change the heading and intro
text and choose how much of the plugin's own styling to use.

== Frequently Asked Questions ==

= Does this work with simple products? =

No. The matrix replaces the variation selection form, so it only applies to variable
products that have at least one published variation. The **Variation Matrix** tab is
hidden for other product types.

= Why is the matrix layout not showing? =

The matrix layout draws one attribute across the top and another down the side, so it
needs a product with at least two variation attributes. If the product has only one,
use the grid layout instead. When this happens the standard WooCommerce form is shown,
and a message explaining why is displayed to logged in users who can edit products.

= Can I change how it looks? =

Yes, without writing CSS. Go to **WooCommerce > Variation Matrix > Styling** and set the
accent, text, border, header and cell colours, the base font size and the corner radius.

If you would rather your theme handled the appearance, set **Stylesheet** to **Minimal**,
which loads only the structural rules the layouts need and leaves colours, borders and
fonts to your theme, or to **Theme styling**, which loads no plugin CSS at all.

For your own rules, use your theme's stylesheet or WordPress's **Additional CSS** panel.
Each product can also have a custom CSS class set on its **Variation Matrix** tab, and
every layout is a template file you can copy into your child theme and edit.

= Can I change the "Select Variations" heading? =

Yes. **WooCommerce > Variation Matrix > Heading & Text** sets the heading and the intro
line for the whole site, or hides both. Any single product can override either one from
its own **Variation Matrix** tab. Leave a field empty and it falls back to the site wide
value, then to the default wording for that layout.

= Will my product settings be deleted if I remove the plugin? =

No, not unless you ask for it. Go to **WooCommerce > Variation Matrix** and set
**Delete Data on Uninstall** to **Yes** if you want everything removed when the plugin
is deleted. The default is to keep your data.

= Does it support stock management and backorders? =

Yes. Quantity fields are limited by each variation's available stock and its minimum
and maximum purchase quantity. Variations that are out of stock cannot be ordered, and
backorders are allowed when WooCommerce is configured to allow them.

= Is there a table layout, or order totals? =

Both are part of OptionGrid Variation Matrix Pro, available from https://plugins.wpintegrate.com/product/wc-variation-matrix-pro-bulk-variations-table-grid-matrix-for-woocommerce/.
The free and Pro versions share the same settings, so switching is seamless.

== Screenshots ==

1. Grid layout on a variable product page.
2. Matrix layout showing size against colour.
3. The Variation Matrix tab in the Product data panel.
4. The global settings screen under WooCommerce.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
