| @@ -4,9 +4,9 @@ | ||
| 4 | 4 | Tags: woocommerce, tiered pricing, dynamic price, price, wholesale |
| 5 | 5 | Requires at least: 5.0 |
| 6 | 6 | Tested up to: 7.1 |
| 7 | 7 | Requires PHP: 7.4 |
| 8 | -Stable tag: 7.1.4 | |
| 8 | +Stable tag: 8.1.0 | |
| 9 | 9 | License: GPLv2 or later |
| 10 | 10 | License URI: https://www.gnu.org/licenses/gpl-2.0.html |
| 11 | 11 | |
| 12 | 12 | Create bulk, wholesale, and quantity-based pricing in WooCommerce with flexible tables, role-based pricing, and powerful upsells. |
| @@ -16,9 +16,9 @@ | ||
| 16 | 16 | **Tiered Pricing Table for WooCommerce** lets you create bulk discounts, wholesale pricing, and quantity-based offers to increase average order value. |
| 17 | 17 | |
| 18 | 18 | Easily set different prices based on quantity, user roles, or specific customers — and display them using beautiful, customizable pricing tables, blocks, or dropdowns. |
| 19 | 19 | |
| 20 | -[youtube https://www.youtube.com/watch?v=wRyPr6VQHZM] | |
| 20 | +[youtube https://www.youtube.com/watch?v=MlyGAcfxaEQ] | |
| 21 | 21 | |
| 22 | 22 | [**Live Demo**](https://demo.tiered-pricing.com/) | [**Documentation**](https://tiered-pricing.com/documentation/user/) | [**Contact Us**](https://tiered-pricing.com/contact-us/) | [**Plugin Website**](https://tiered-pricing.com/) |
| 23 | 23 | |
| 24 | 24 | You can apply custom pricing to individual products or categories, all users, specific user roles, or customer accounts. |
| @@ -41,8 +41,14 @@ | ||
| 41 | 41 | |
| 42 | 42 | ✅ **Request a Quote** |
| 43 | 43 | Allow customers to request a quote with customizable form builder and flexible settings. |
| 44 | 44 | |
| 45 | +✅ **Wholesale registration & approval** | |
| 46 | +Let customers apply for a wholesale account with a customizable form, approve them in a queue, and give them the wholesale role automatically. Four e-mails keep everyone informed. | |
| 47 | + | |
| 48 | +✅ **Private store & catalog visibility** | |
| 49 | +Close the store to visitors, or show products and categories to selected roles only for wholesale-only or retail-only catalogs. | |
| 50 | + | |
| 45 | 51 | ✅ **Flexible pricing display (product page & catalog)** |
| 46 | 52 | Display tiered pricing in the format that best fits your store: |
| 47 | 53 | ➖ **Table (5 styles)** |
| 48 | 54 | ➖ **Blocks (5 styles)** |
| @@ -71,8 +77,9 @@ | ||
| 71 | 77 | * Role-based and customer-based pricing (including base prices and min/max order quantity) |
| 72 | 78 | * Role-based tax options (Override tax options for specific user roles) |
| 73 | 79 | * Custom columns for pricing table |
| 74 | 80 | * Option to hide prices and prevent purchasing for non-logged-in users |
| 81 | +* Cart rules by role: a minimum order amount or quantity per role, payment and shipping methods limited to roles | |
| 75 | 82 | * Min/Max order quantity control per product or category/tag/brand |
| 76 | 83 | * Cart upsells (motivates users to purchase more to get a discount) |
| 77 | 84 | * Totals on the product page |
| 78 | 85 | * Clickable tiered pricing |
| @@ -105,19 +112,21 @@ | ||
| 105 | 112 | Set up a **[demo](https://demo.tiered-pricing.com/)** to see how the plugin works in action. |
| 106 | 113 | |
| 107 | 114 | == Screenshots == |
| 108 | 115 | |
| 109 | -1. Tiered Pricing on the product page | |
| 110 | -2. Set up on the product-level | |
| 111 | -3. Global Pricing Rules | |
| 112 | -4. Shop and Catalog prices | |
| 113 | -5. Role-based Pricing | |
| 114 | -6. Quantity Limits (min/max/step) | |
| 115 | -7. Tiered Pricing in the cart and upsells | |
| 116 | -8. Custom Pricing Labels | |
| 117 | -9. Mix&Match Pricing Rules | |
| 118 | -10. Roles Management | |
| 119 | -11. 3rd-party Integrations | |
| 116 | +1. Tiered pricing on the product page | |
| 117 | +2. Layout configurator with live preview | |
| 118 | +3. Tiered pricing on shop and category pages | |
| 119 | +4. Wholesale registration and approval | |
| 120 | +5. Private store and catalog visibility | |
| 121 | +6. Role and customer pricing | |
| 122 | +7. Cart rules by role | |
| 123 | +8. Tiered pricing in the cart and upsells | |
| 124 | +9. Request a quote | |
| 125 | +10. Tier labels and badges | |
| 126 | +11. Mix & Match pricing rules | |
| 127 | +12. Roles management | |
| 128 | +13. 3rd-party integrations | |
| 120 | 129 | |
| 121 | 130 | == Installation == |
| 122 | 131 | |
| 123 | 132 | 1. Upload the plugin files to the `/wp-content/plugins/tier-price-table` directory, or install the plugin through the WordPress plugins screen directly. |
| @@ -173,46 +182,91 @@ | ||
| 173 | 182 | Each order has the "recalculate with tiered pricing" button, which recalculates the cost according to the tiered pricing rules. |
| 174 | 183 | |
| 175 | 184 | == Changelog == |
| 176 | 185 | |
| 186 | += 8.1.0 [2026-10-06] = | |
| 187 | +* New: Pricing test (Settings → Advanced → Utilities): see what a customer pays for a product and which global rule is applied. | |
| 188 | +* New: priority for global pricing rules; the editor shows the rules that override the one you edit. | |
| 189 | +* New: start and end dates for global pricing rules. | |
| 190 | +* New: Rule status box in the rule editor with the status, Suspend / Reactivate, priority, schedule and overriding rules. | |
| 191 | +* New: "Include subcategories" switch and "Guests (not logged in)" role in global pricing rules. | |
| 192 | +* Improvement: the rules list shows status, priority, scope and pricing in four columns and filters by status. | |
| 193 | +* Improvement: rules that change nothing are marked "Skipped" and never block other rules. | |
| 194 | +* Improvement: savings badge styles (text, pill, outline), positions and an "Auto" colour. | |
| 195 | +* Improvement: faster layout configurator preview. | |
| 196 | +* Improvement: filters for the discount decimals and the CSV rule separator; the CSV import accepts "20=100" and maps role columns automatically. | |
| 197 | +* Fix: global rules created before 8.0.0 and never re-saved were ignored. | |
| 198 | +* Fix: block cart quantity changes that break the minimum, maximum or step are rejected. | |
| 199 | + | |
| 200 | += 8.0.2 [2026-09-24] = | |
| 201 | +* New: the catalog quantity box works with the Product Button block (Product Collection, block themes). | |
| 202 | +* Improvement: in the catalog, the quantity box and the add-to-cart button share one line, and the tiers sit right under the price. | |
| 203 | +* Fix: block themes no longer show the catalog pricing, badge and quantity box twice, nor on the single product page. | |
| 204 | +* Fix: the integrated "Request a quote" row spans every column when the table has custom columns. | |
| 205 | + | |
| 206 | += 8.0.1 [2026-09-23] = | |
| 207 | +* Fix: the plugin no longer clears the "section" parameter on other WooCommerce settings tabs; since 7.2.0 this broke the REST API keys screen and saving webhooks. | |
| 208 | +* Improvement: security hardening and PHP 8.1+ compatibility from the WooCommerce QIT audit: escaped template output, sanitized request variables, a nonce check on the quote request endpoint. | |
| 209 | + | |
| 210 | += 8.0.0 [2026-09-23] = | |
| 211 | +* New: wholesale registration and approval: an application form with a form builder (shortcode [tiered_pricing_wholesale_registration]), an approval queue under WooCommerce → Wholesale Applications, automatic or manual approval, four WooCommerce e-mails, a link on the login form, a login redirect, an optional terms checkbox, a honeypot and reCAPTCHA v3. | |
| 212 | +* New: private store, off by default: "Closed store" sends visitors to the login page, and "Catalog visibility by role" adds a "Who can see" rule to every product and category (guests count as a role). Hidden products and categories leave every list, menu, search, the sitemap and the Store API. | |
| 213 | +* New: cart rules by role (premium), off by default: a minimum order amount or quantity per role, and payment and shipping methods limited to selected roles. | |
| 214 | +* Improvement: the Guest Users options moved to the new Wholesale tab; the Tools tab merged into the Modules tab, now called Advanced. | |
| 215 | +* Improvement: the experimental "WooCommerce Product Editor integration" module is no longer listed; a store that switched it on keeps it. | |
| 216 | +* Fix: table styles #1 to #6 keep a quantity range on one line when a tier label sits in the row. | |
| 217 | + | |
| 218 | += 7.2.0 [2026-09-23] = | |
| 219 | +* New: layout configurator with a live preview for the product page, shop & category pages and the cart. It is a module: switch it off to get the classic settings back. | |
| 220 | +* New: ten design styles: table "minimal" and "savings bar", blocks "cards" and "segmented", options "plan picker", "list with savings bar" and "steps", dropdown "pill", plain text "check list" and "one line". The former table style #1 is now #6. | |
| 221 | +* New: layout options: discount format, tier order, spacing, cell padding, discount badge colour, active tier left border. | |
| 222 | +* New: shop & category pages: a bulk savings badge on the product image, "Where it shows", Product Collection block support, and tiers per grid item with a "+N more" link. | |
| 223 | +* New: cart: a one-click link to the next tier in the upsell message, an optional progress bar, and a "Total savings" row. | |
| 224 | +* Improvement: the "Show total price" options are free; the Calculations tab became the Price Calculation group on the General tab; the "nowhere" position is gone (an existing setting behaves as automatic display switched off). | |
| 225 | +* Improvement: default cell padding for themes that leave cells unpadded, smaller badges in the compact layout, new default texts for the "You Save" badge and the upsell message. | |
| 226 | +* Fix: no crossed-out price or "0% off" badge for a tier at the regular price; quantity ranges use the site's number format; table styles #2 and #6 tint the active row correctly; the dropdown starts on the base option; the horizontal table keeps its row count with custom columns. | |
| 227 | + | |
| 228 | += 7.1.8 [2026-09-08] = | |
| 229 | +* Fix: the Request a Quote form for variations of products with many variations, the catalog price format of variable products with SEO integrations and caching, and the "Purge cache" button while caching is disabled. | |
| 230 | + | |
| 231 | += 7.1.7 [2026-09-02] = | |
| 232 | +* New: U2Code Multicurrency integration, and Multicurrency and Product Addons settings sections. | |
| 233 | +* New: Mix & Match settings section: tiered pricing for the products inside Mix and Match containers. | |
| 234 | +* Improvement: settings tabs ordered consistently. | |
| 235 | +* Fix: the maximum order quantity in the block cart (Store API); a pricing rule matching a Mix and Match container no longer re-prices the container itself. | |
| 236 | + | |
| 237 | += 7.1.6 [2026-08-25] = | |
| 238 | +* New: U2Code Product Addons integration and a redesigned integrations page. | |
| 239 | + | |
| 240 | += 7.1.5 [2026-08-14] = | |
| 241 | +* Fix: WooCommerce Subscriptions: percentage tiers were calculated from an already modified price (double-prorated first payments, wrong sign-up fees and trials), and quantity switches ignored the tiered discount. | |
| 242 | + | |
| 177 | 243 | = 7.1.4 [2026-08-13] = |
| 178 | 244 | * Fix: cart prices ignored the exchange rate with the WPML Multicurrency integration (regression in 7.1.3). |
| 179 | 245 | |
| 180 | 246 | = 7.1.3 [2026-08-09] = |
| 181 | -* New: WooCommerce Subscriptions integration — tiered pricing now applies correctly to products purchased on a subscription plan, in both the initial and recurring totals. | |
| 182 | -* New: YITH Multi Currency Switcher integration. | |
| 183 | -* New: WPML/Polylang support for role-based and user-based tiered pricing on product translations. | |
| 184 | -* Enhance: Global tiered pricing rules now match products, categories, tags and brands across WPML/Polylang translations. | |
| 185 | -* Fix: Prevented two possible fatal errors — a null product passed into the price filter by third-party code, and re-calculating a manual order whose product had been deleted. | |
| 186 | -* Fix: A 100%-off tier could be charged at full price when re-calculating manual orders. | |
| 187 | -* Fix: WCCS, YITH and WPML currency switchers could convert percentage-based tiered prices twice. | |
| 188 | -* Fix: Product add-on costs were dropped from the cart price when a currency switcher was active. | |
| 189 | -* Fix: Division-by-zero warning in the WooCommerce Deposits integration. | |
| 190 | -* Fix: SEO structured data (Rank Math, Yoast, SEOPress) declared more offers than it output; the SEOPress price-range tag showed the lowest price instead of a range. | |
| 247 | +* New: WooCommerce Subscriptions and YITH Multi Currency Switcher integrations. | |
| 248 | +* New: WPML/Polylang support for role-based and customer-based pricing on translations; global rules match translated products, categories, tags and brands. | |
| 249 | +* Fix: two possible fatal errors (a null product in the price filter, re-calculating a manual order whose product was deleted), a 100%-off tier charged at full price in manual orders, currency switchers converting percentage tiers twice, add-on costs dropped with a currency switcher, a division-by-zero warning in the Deposits integration, and the SEO structured data offers (Rank Math, Yoast, SEOPress). | |
| 191 | 250 | |
| 192 | 251 | = 7.1.2 [2026-08-06] = |
| 193 | -* Enhance: Product Bundles integration for manually created orders. | |
| 194 | -* Fix: WPML Multicurrency rounding rules were not applied to tiered prices. | |
| 195 | -* Fix: Tiered price in the cart was converted twice by currency switchers after decreasing the quantity below the first tier. | |
| 196 | -* Fix: Prices with taxes for the products without tiered pricing rules. | |
| 252 | +* Improvement: Product Bundles integration for manually created orders. | |
| 253 | +* Fix: WPML Multicurrency rounding, double conversion after lowering the quantity below the first tier, and prices with taxes for products without tiers. | |
| 197 | 254 | |
| 198 | 255 | = 7.1.1 [2026-07-29] = |
| 199 | -* Fix: frontend JS issue with totals. | |
| 256 | +* Fix: front-end totals script. | |
| 200 | 257 | |
| 201 | 258 | = 7.1.0 [2026-07-27] = |
| 202 | -* New: Mix&Match minimum order quantity for variable products. | |
| 203 | -* New: Woo Payment Multicurrency integration. | |
| 204 | -* Enhance: Move role-based and customer-based pricing to a separate tab. | |
| 205 | -* Enhance: Settings texts and descriptions updated. | |
| 206 | -* Fix: Minor fixes and improvements. | |
| 259 | +* New: Mix & Match minimum order quantity for variable products; WooPayments Multicurrency integration. | |
| 260 | +* Improvement: role-based and customer-based pricing on their own product tab; updated settings texts. | |
| 207 | 261 | |
| 208 | 262 | = 7.0.1 [2026-07-20] = |
| 209 | -* Fix: Frontend script cache issue. | |
| 263 | +* Fix: front-end script cache issue. | |
| 210 | 264 | |
| 211 | 265 | = 7.0.0 [2026-07-18] = |
| 212 | -* New: Request a Quote functionality. | |
| 213 | -* New: Totals & "You save" feature for the products without tiered pricing rules. | |
| 214 | -* Enhance: Dropdown accessibility. | |
| 266 | +* New: Request a Quote. | |
| 267 | +* New: totals and "You save" for products without tiered pricing rules. | |
| 268 | +* Improvement: dropdown accessibility. | |
| 215 | 269 | |
| 216 | 270 | = 6.5.0 [2026-07-02] = |
| 217 | 271 | * New: Product level customer based pricing. |
| 218 | 272 | * New: Custom template for pricing formatting on the shop page. |