Title: Shadimetry for WooCommerce
Author: exotomicdev
Published: <strong>November 6, 2026</strong>
Last modified: November 6, 2026

---

Search plugins

![](https://ps.w.org/shadimetry-for-woocommerce/assets/banner-772x250.png?rev=3787983)

![](https://ps.w.org/shadimetry-for-woocommerce/assets/icon-256x256.png?rev=3787983)

# Shadimetry for WooCommerce

 By [exotomicdev](https://profiles.wordpress.org/exotomicdev/)

[Download](https://downloads.wordpress.org/plugin/shadimetry-for-woocommerce.0.2.1.zip)

 * [Details](https://wordpress.org/plugins/shadimetry-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/shadimetry-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/shadimetry-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/shadimetry-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/shadimetry-for-woocommerce/)

## Description

Shadimetry Free lets merchants configure a complete width × drop price matrix for
a simple WooCommerce product. Customers enter finished measurements in cm. The server
selects the first inclusive upper bands and uses that cell as the product’s base
unit price.

Includes a native product editor, strict validation, server price preview, separate
cart lines for different measurements, quantity handling, current-grid repricing
and visible order item dimensions. All included functionality is unlocked, with 
no account, trial limit, tracking, external API or paid service.

Grid prices replace regular and sale prices. Saving a valid grid sets the product’s
regular price to the lowest grid price and removes any sale price, so catalog sorting,
price filters, feeds and search-engine structured data (published as a low–high 
price range) stay consistent with the grid. Coupons remain handled by WooCommerce.
Grid prices follow the store’s normal inclusive/exclusive tax entry mode. The store
owns currency, display tax and rounding. Decimal dimensions allow at most one decimal
digit; no inches conversion is included.

Use the classic WooCommerce product editor and native simple-product form. Cart 
and Checkout blocks can process items added using that form. Direct Store API configured-
product additions, newer interactive add-to-cart blocks, variations, bundles, composites
and subscriptions are not supported. Requires 64-bit PHP.

Local port tests covered WordPress 6.6 / PHP 8.1.34 / WooCommerce 9.3.3 / MariaDB
11.4.13 with Twenty Twenty-Four 1.2, and WordPress 7.1.4 / PHP 8.5.12 / WooCommerce
11.2.1 / MariaDB 11.4.13 or SQLite 3.53.4 (integration 3.1.2) with Twenty Twenty-
Five 1.5. Classic orders, HPOS, taxes, shipping and classic/Store API checkout were
exercised. These exact combinations do not establish compatibility with every intervening
release, extension or theme.

Historical theme-control tests recorded Cart block overflow at 320/375 px even without
the pricing plugin. That full block/theme comparison was not repeated for this port.
The classic cart fitted the tested 320, 375, 390 and 768 px viewports. Check your
chosen theme and cart layout on staging. No global theme CSS override is included.

Keyboard navigation, focus, field labels and error recovery were checked in desktop
browsers, with automated accessibility checks on the measurement form. Physical 
phones and screen readers have not been tested yet, and no WCAG conformance is claimed.
No CSV import is included. Test the product, cart, taxes and checkout on a staging
copy of your store before taking orders.

## Installation

 1. Install and activate WooCommerce.
 2. Install Shadimetry for WooCommerce from Plugins  Add Plugin, or upload the plugin
    ZIP, then activate it.
 3. Edit a simple product and open Product data  General.
 4. Enable Shadimetry, enter semicolon-separated bands and complete price rows, then
    save. The regular price is set to the lowest grid price.
 5. Test the product, cart, taxes and an offline checkout before store use.

See README.md for an illustrated text example and detailed rules.

## FAQ

### Which cart layout is recommended?

Use the native simple-product measurement form with the classic Cart and Checkout
shortcodes. Assign those pages in WooCommerce settings and check all navigation 
links. Historical theme-control tests recorded narrow-screen Cart block overflow
even without the pricing plugin. No global theme CSS fix is included.

### What happens if the grid changes?

Every request reprices carts with the current grid. If the price changes while a
shopper is already on the checkout page, the order is created at the current grid
price, as WooCommerce does for a normal price change; Shadimetry only rejects a 
change detected within the checkout request itself. Avoid editing grids during busy
trading hours. Invalid/removed grids or disabling custom pricing remove old configured
cart lines. New purchases of a disabled product use the product’s regular price,
which is the lowest price of its last saved grid.

### Can I create orders for configured products in the admin?

Not yet. Orders created manually in the WooCommerce admin or through the REST API
use the product’s regular price and contain no measurements. Have the customer order
through the product page, or enter the line price and the measurements yourself.

### Does it work with currency switchers, dynamic pricing or role-based pricing plugins?

Not supported. Plugins that change a configured product’s price after Shadimetry,
or show prices in another currency, make the configured product impossible to order:
checkout stops with a price-change error rather than charging an unchecked amount.
Test any pricing extension on staging first.

### Does “Order again” work?

Native WooCommerce Order again restores saved measurements and option choices for
an authorized customer, then validates them against current prices and available
providers. Invalid configurations and missing required providers are rejected. Third-
party cart-recovery tools are not covered.

### How do I upgrade from Shadimetry 0.1.3 or switch from ShadeGrid?

Shadimetry 0.1.3 updates in place under the same plugin folder and main file. Back
up the database and plugin before updating on staging. Legacy grids, cart dimensions
and orders retain their historical technical keys. When switching from a private
ShadeGrid package, deactivate that package before activating Shadimetry; do not 
run both copies. This package keeps the public shadegrid_* API hooks.

### Can I downgrade to 0.1.3 after using option extensions?

Do not downgrade a live store with required providers or option-bearing carts. Version
0.1.3 ignores required providers and option selections, so a previously surcharged
item can be priced at its base grid price. Use maintenance mode, stop purchases,
and restore a consistent database-and-plugin backup made before options were introduced.
Never treat uninstall/reinstall or a plugin-only rollback as a safe migration. Existing
historical order evidence must be preserved. No automatic downgrade cleanup is performed.

### Can I change store currency or precision?

Review and explicitly save each grid in the new currency/precision. Until then configured
purchases fail validation. No automatic conversion occurs.

### Does this import supplier spreadsheets?

No. This release provides manual grid entry only. A future add-on would be a separate
plugin, without locking features in Free.

### Are taxes calculated by Shadimetry?

No. Enter grid prices in the same tax mode as normal WooCommerce product prices.
WooCommerce calculates and formats all taxes and totals.

### Is anything sent to external services?

Shadimetry sends no outgoing requests and loads its own assets locally. Its same-
origin price preview does not persist measurements. WooCommerce and other installed
plugins retain their own behavior.

### What data is retained after uninstall?

Saved product grids and historical order metadata remain to protect merchant pricing
and order evidence.

### For developers: how can extensions integrate?

API version 1.1 is announced by shadegrid_loaded after WooCommerce-dependent modules
are ready. Register Option_Provider implementations through shadegrid_register_option_providers.
Use Quote_Service::quote for complete grid-plus-options quotes. Product_Config::
quote remains the legacy grid-only helper and must not be used to bypass purchase
validation.

Grid_Store::validate is read-only. Grid_Store::save requires product edit permission
and a product-bound shadegrid_save_ID nonce in its context; use expected_revision
to detect stale writes. Since 0.2.1 a save keeps the product’s Shadimetry activation
unchanged unless the context passes enable=true or enable=false, and a save whose
grid was committed is reported as saved even if another plugin fails during the 
same product save. With persist=false, events fire only after WooCommerce saves 
the staged object. shadegrid_grid_saved and the legacy shadegrid_product_grid_saved
are retained; provider IDs and monetary adjustments are strictly validated. No supplier
importer, templates or history storage is included in Free.

Options use the parent product tax/shipping rules. Catalog ranges and structured
offers describe the grid before any extension options. Extensions must not set cart
prices directly. Other independent price-modifier plugins are not a supported combination.
Development sources contain the hook reference and provider guide; no development
fixtures are included in the installation ZIP.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Shadimetry for WooCommerce” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ exotomicdev ](https://profiles.wordpress.org/exotomicdev/)

[Translate “Shadimetry for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/shadimetry-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/shadimetry-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/shadimetry-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/shadimetry-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/shadimetry-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.2.1

 * Configuration notices (WooCommerce missing, conflicting copy, 32-bit PHP) are
   shown only to administrators on the Plugins screen, as in 0.1.3.
 * Port Free 0.2.1 to the Shadimetry identity; retain API 1.1 and historical data/
   hooks.
 * Scope coexistence checks to candidate activation; unrelated plugins remain manageable
   when conflicting flags exist.
 * Grid writes, including required-extension changes, no longer re-enable a product
   the merchant disabled; a disabled product keeps its native price.
 * A grid committed during a product save is reported as saved, with its history
   event, even when another plugin fails in the same save.
 * The product editor lists required option extensions, shows inactive ones and 
   lets the merchant remove those requirements without the extension.
 * Store managers can release a save lock abandoned by an interrupted request (after
   15 minutes) and repair a corrupted revision counter from the editor.
 * Option labels are stored as plain text, so plain-text e-mails no longer show 
   HTML entities; labels starting with an underscore are refused.
 * Marking required extensions on a product without a grid is rejected with a validation
   error instead of a PHP type error.

#### 0.2.0

 * Add a versioned grid write API with revision checks and post-persistence events.
 * Add generic option-provider and complete-quote contracts; no option provider 
   is bundled.
 * Reject missing required providers and revalidate full prices through checkout
   and order creation.
 * Store private structured quote evidence and readable option selections on new
   orders.
 * Revalidate Order Again using current grids/options and retain invalid editor 
   input privately for 10 minutes.

#### 0.1.3

 * Introduce the Shadimetry public identity while preserving historical ShadeGrid
   data keys and financial rules.

#### 0.1.2

 * Saving a valid grid sets the regular price to the lowest grid price and clears
   sale prices, so catalog sorting, price filters and feeds no longer use an unrelated
   price.
 * Publish the grid’s low–high range as an AggregateOffer in product structured 
   data.
 * Disable Shadimetry automatically when a product is changed to an unsupported 
   type, instead of leaving a hidden enabled setting.
 * Show shoppers a neutral message instead of merchant configuration instructions.
 * Do not flag a measurement as invalid before the shopper has filled in both fields.
 * Document unsupported admin-created orders, pricing plugins, “Order again” and
   grid changes during checkout.

#### 0.1.1

 * Reject a grid change detected within the checkout request instead of silently
   mutating the unit price.
 * Give every measurement form unique label and description targets.
 * Identify the invalid measurement without falsely flagging a valid field, and 
   improve touch targets/focus.
 * Handle malformed saved editor values without a PHP error.
 * Preserve WooCommerce tax suffixes and dynamic amounts in catalog grid price ranges.
 * Exclude developer documentation and test files from the installation package.

#### 0.1.0

 * Initial development version with server pricing, validation, classic and block
   checkout integration and HPOS-safe order metadata.

## Meta

 *  Version **0.2.1**
 *  Last updated **16 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [blinds](https://wordpress.org/plugins/tags/blinds/)[custom dimensions](https://wordpress.org/plugins/tags/custom-dimensions/)
   [pricing grid](https://wordpress.org/plugins/tags/pricing-grid/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/shadimetry-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/shadimetry-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/shadimetry-for-woocommerce/reviews/)

## Contributors

 *   [ exotomicdev ](https://profiles.wordpress.org/exotomicdev/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/shadimetry-for-woocommerce/)