Title: WMGRs Role Based Pricing for WooCommerce
Author: Woo Managers
Published: <strong>September 15, 2026</strong>
Last modified: September 15, 2026

---

Search plugins

![](https://ps.w.org/wmgrs-role-based-pricing-for-woocommerce/assets/banner-772x250.
png?rev=3697431)

![](https://ps.w.org/wmgrs-role-based-pricing-for-woocommerce/assets/icon-256x256.
png?rev=3697431)

# WMGRs Role Based Pricing for WooCommerce

 By [Woo Managers](https://profiles.wordpress.org/woomanagers/)

[Download](https://downloads.wordpress.org/plugin/wmgrs-role-based-pricing-for-woocommerce.1.1.1.zip)

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

 [Support](https://wordpress.org/support/plugin/wmgrs-role-based-pricing-for-woocommerce/)

## Description

Role Based Pricing for WooCommerce lets you charge different prices to different
types of customers. Wholesale buyers, trade accounts, VIP members and staff can 
each see their own price, while everyone else sees your normal retail price.

A standard WooCommerce store has one price per product, so every visitor sees the
same number. That works for retail and breaks the moment you sell to businesses.
Wholesale buyers expect trade prices, distributors negotiate their own rates, and
members expect the discount they pay a subscription for. Without role based pricing
you end up running a second store, maintaining duplicate products, or emailing a
price list and taking orders by hand.

This plugin removes all of that. You create pricing rules that map a **WordPress
user role** to a price adjustment, and WooCommerce does the rest. A customer in 
the Wholesale role logs in and every price across the store — shop listings, product
pages, the cart, the mini-cart and checkout — is already their price. Nothing is
recalculated at checkout and nothing surprises them at the last step, because the
rule is applied to the product price itself rather than bolted on as a discount.

Rules can be broad or precise. Give an entire role 20% off everything, set a fixed
price on one product for one role, or add a markup for a role you want to charge
above list. Rules are checked from the top down and the first match wins, so a specific
product rule can sit above a storewide one and take precedence.

You can also control who sees prices at all. Hide prices from logged-out visitors
and replace them with a message such as “Login to see prices”, and optionally remove
the add-to-cart button while they are hidden — which turns the storefront into a
catalogue for the public and a working shop for approved accounts. That is the usual
setup for trade suppliers who do not want retail customers, or competitors, reading
their pricing.

#### Pricing rules you can create

 * **Percentage discount** — 20% off list price for a role
 * **Fixed discount** — a set amount off, in your store currency
 * **Fixed price** — ignore the product price and charge an exact figure
 * **Percentage markup** — charge a role above list price

Each rule targets one user role and applies either storewide or to specific products
and variations, chosen with a product search. Rules can be enabled and disabled 
without deleting them, and reordered to control which one wins.

#### Where the prices apply

Prices are changed at the product level, so they are correct everywhere WooCommerce
shows a price:

 * Shop, category and search listings
 * Single product pages, including the price range on variable products
 * Cart, mini-cart and checkout
 * Order totals and the emails generated from them

Variable products are handled properly. Each role gets its own cached variation 
price range rather than the shared one WooCommerce caches by default, so a wholesale
customer does not see retail prices in the variation dropdown.

#### Who it is for

Wholesale and trade suppliers, B2B stores selling to businesses as well as consumers,
membership sites with a members’ price, distributors and resellers on agreed rates,
and any store that has ever kept a separate price list in a spreadsheet. It works
just as well for a single “Staff discount” role on an otherwise ordinary retail 
shop.

#### How it works

 1. Go to WooCommerce  Role Based Pricing  Add Rule.
 2. Pick a role (e.g. Wholesale Customer), an adjustment (e.g. 20% discount), and whether
    it applies to all products or specific ones.
 3. Save — customers with that role immediately see their price everywhere.

#### Built to stay fast

The plugin adds no database tables and loads no front-end JavaScript or CSS. Pricing
is applied through WooCommerce’s own price filters, and variation price caches are
keyed per role so the cache keeps working instead of being bypassed. Uninstalling
removes its own two options and leaves nothing behind.

It is compatible with WooCommerce High-Performance Order Storage (HPOS).

#### Free and premium

Everything described above is free and unlimited — there is no cap on rules, roles
or products.

A premium version is available at [woomanagers.com](https://woomanagers.com/) for
stores that need customer-specific pricing (a rate for one named buyer), category-
level rules, tiered quantity pricing, price display customisation such as “You save
20%”, CSV import and export of rules, and scheduled pricing with start and end dates.

## Screenshots

[⌊A wholesale customer sees their role price on the product page, with the original
price struck through.⌉⌊A wholesale customer sees their role price on the product
page, with the original price struck through.⌉[

A wholesale customer sees their role price on the product page, with the original
price struck through.

[⌊The pricing rules screen: role, adjustment type, targeting and priority.⌉⌊The 
pricing rules screen: role, adjustment type, targeting and priority.⌉[

The pricing rules screen: role, adjustment type, targeting and priority.

[⌊Configuring a rule: role, adjustment type, amount, and product targeting.⌉⌊Configuring
a rule: role, adjustment type, amount, and product targeting.⌉[

Configuring a rule: role, adjustment type, amount, and product targeting.

[⌊Display & Guest Prices: sale-style display and hiding prices from logged-out visitors.⌉⌊
Display & Guest Prices: sale-style display and hiding prices from logged-out visitors
.⌉[

Display & Guest Prices: sale-style display and hiding prices from logged-out visitors.

## Installation

 1. Upload the plugin and activate it.
 2. Go to WooCommerce  Role Based Pricing  Add Rule.
 3. Pick the user role, the adjustment type and amount, and whether the rule applies
    storewide or to selected products.
 4. Drag rules to set priority — the first matching rule wins.
 5. Guest price hiding and the struck-through original price are under the Display &
    Guest Prices tab.

## FAQ

### How do I set wholesale prices in WooCommerce?

Create a user role for your wholesale customers (most B2B registration plugins add
one, or you can use an existing role), then add a rule in this plugin targeting 
that role — for example a 20% percentage discount on all products. Assign the role
to a customer and they see wholesale prices the moment they log in.

### Can I show different prices to different user roles?

Yes, that is the core of the plugin. Each rule targets one role, and you can have
as many rules as you have roles. A customer sees the price from the first enabled
rule that matches their role and the product they are looking at.

### Does it change prices in the cart and checkout too?

Yes. Rules apply consistently on product pages, shop listings, the cart, the mini-
cart and checkout. Because the product price itself is adjusted, totals and order
emails are correct too — the customer never sees one price in the shop and another
at checkout.

### Can I hide prices until a customer logs in?

Yes. Under Display & Guest Prices you can replace prices with a message for logged-
out visitors, and set that message to anything you like — “Login to see prices”,“
Trade customers only”, “Contact us for pricing”.

### Can I turn my shop into a catalogue with no prices and no add-to-cart?

Yes, for logged-out visitors. Enable price hiding and also tick the option to remove
the add-to-cart button while prices are hidden. Approved customers who log in get
a fully working shop at their own prices.

### Does it work with variable products?

Yes, including the price range shown on variable product pages and in the variation
dropdown. Each role gets its own correctly cached price range, so roles never see
each other’s prices.

### Which rule applies when several match?

The first enabled matching rule, counting from the top of the list. Reorder rules
with the up and down arrows to control priority — put narrow rules above broad ones
so a specific product rule beats a storewide one.

### Can I apply a rule to only some products?

Yes. Choose “Specific products” on the rule and search for the products or variations
it should cover. Everything else keeps its normal price, or falls through to a lower
storewide rule if you have one.

### Can I set an exact price instead of a discount?

Yes — use the Fixed price adjustment type and enter the figure you want that role
to pay. The product’s own price is ignored for that role.

### Can I charge a role more than the normal price?

Yes, use Percentage markup. It is less common than discounting, but useful for surcharging
a segment or running a higher retail tier alongside a base trade price.

### Can guests get a price rule rather than hidden prices?

Yes. Choose the “Guest (not logged in)” role in a rule and logged-out visitors get
that adjustment, the same as any other role.

### Will the discounted price look like a sale price?

By default yes — the original price is shown struck through next to the new price,
the way WooCommerce shows a sale. You can turn that off under Display & Guest Prices
if you would rather show only the price the customer pays.

### Will it slow down my store?

No. There are no extra database tables, no front-end scripts and no background processing.
Prices are adjusted through WooCommerce’s standard price filters, and variation 
price caching is preserved per role rather than disabled.

### Is it compatible with HPOS?

Yes. The plugin declares compatibility with WooCommerce High-Performance Order Storage
and works with both legacy and high-performance order tables.

### What happens to my rules if I uninstall?

Uninstalling deletes the plugin’s own settings, which includes your pricing rules.
Product prices themselves are untouched — they simply go back to showing the same
price to everyone.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WMGRs Role Based Pricing for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Woo Managers ](https://profiles.wordpress.org/woomanagers/)

[Translate “WMGRs Role Based Pricing for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/wmgrs-role-based-pricing-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.1.1

 * Fix: the selected variation’s price was hidden on variable products when a pricing
   rule applied (WooCommerce’s same-price detection). The discounted variation price
   now always displays.

#### 1.1.0

 * New: show the original price struck through (sale-style display) when a rule 
   lowers the price. Can be disabled under Display & Guest Prices.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.1.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [b2b](https://wordpress.org/plugins/tags/b2b/)[hide price](https://wordpress.org/plugins/tags/hide-price/)
   [Role based pricing](https://wordpress.org/plugins/tags/role-based-pricing/)[wholesale](https://wordpress.org/plugins/tags/wholesale/)
 *  [Advanced View](https://wordpress.org/plugins/wmgrs-role-based-pricing-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/wmgrs-role-based-pricing-for-woocommerce/reviews/)

## Contributors

 *   [ Woo Managers ](https://profiles.wordpress.org/woomanagers/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wmgrs-role-based-pricing-for-woocommerce/)