- Overview
- Where to Use this Plugin?
- Enable Prices Based on User role plugin with the Booster Plugin
- WooCommerce Prices Based on User Role
- Advanced Options
- Compatibility
- Adding Custom Roles to Use with the Prices by User Role Settings
- Roles and Multipliers
- Reset Settings
- Example: Setting Prices Based on User Role
Overview #
WooCommerce stores have multiple user roles. Through these, store owners want to let all kinds of users avail deserving discounts. Let us give you a context.
You will prefer offering different discounts to your retailers from your distributors. Similarly, the discount has to be different for your customers. Right?
Though it looks like a rational and essential functionality, enabling it for a WooCommerce store might be a tough deal. The easiest way to set Price Based on User Role is – Using the WooCommerce Prices Based on User Role plugin.
Prices Based on User role Plugin (Booster)
This plugin is a part of the Booster for WooCommerce plugin. With it, you can display and use (in calculations) diverse product pricing for your WooCommerce Store products. Not just the regular products, Prices Based on User Role works for variable products as well as product bundles too.
While using this plugin for your store, you may do (any of) the following:
- Select user roles to apply different pricing by user roles;
- Enable user role-based pricing for product bundles;
- Set different fixed prices for each user role for a product;
- Set different variable prices (multiplier-based) for each user role for a product;
- Apply user role multipliers (for variable pricing) to shipping calculations;
- Discourage search engines from caching user role based product pricing;
Besides the above, the WooCommerce Prices Based on User Roles plugin allows store administrators and owners to do some advanced settings for their shop, such as:
- Set price based on user role by product categories;
- Set price based on user role by tags;
- Disable Price based on User Role for Regular Price;
- Hide product prices and add-to-cart button by user role;
- Remove Empty Price Variation and/or Add to Cart Button for Callback;
- Apply the same settings to the child categories of a parent;
- Disable Price based on User Role for Products on Sale.
Where to Use this Plugin? #
See a few example scopes of the plugin below:
- Set different prices for different user roles for your store, e.g. giving extra discounts to your distributors than your retailers, wholesalers, and end-buyers.
- Hide product prices based on user roles, i.e. show it to your few user roles while preventing other users from buying the product.
- Set different prices for different user roles by categories for your store, e.g. giving discounts for ‘clothing’ products to wholesalers while enabling extra discounts for customers when they buy cakes.
- Set different prices for different user roles by tags for your store, e.g. give your retailers discounts for the tag ‘birthdaycakes’, but not on the other types of cakes.
- Run user-role-based sale campaigns, e.g. give your customers a summer-special discount on clothing products.
Enable Prices Based on User role plugin with the Booster Plugin #
Note: To enable the prices-by-user-role plugin, it is essential that you have the Booster plugin installed, activated, and well-configured for working. If it is missing from your store, use this link and get it right away.
Follow the below-listed steps to get started with user role based product pricing:
- Sign in to your WordPress administrator panel.
- Go to Booster > Plugins using the menu options from your dashboard.
- In the Prices & Currencies section, search for the plugin named ‘Price Based on User role.’
- Select Enable for this plugin to activate it.
After completing the previous steps, click on the Save Changes button. This procedure has enabled the functionality related to WooCommerce Prices Based on User Role in your shop.
WooCommerce Prices Based on User Role #
This section covers all features of the Options section present in the dashboard of this plugin.
Enable per Product Settings: If you want to set user role based pricing for each of your products separately rather than using global settings for the whole store, select the Enable option.
Per Product Settings Type: Select your pick between Fixed and Multiplier types.
- ‘Fixed’ type accepts numeric values and considers them to be the product price with currently applied currency as its currency. For example, if you enter the value as 200 where your store currency is USD, the product price will be $200.
- ‘Multiplier’ type product setting accepts any numeric input and multiplies it with the current pricing. So, if a product has its regular price of $50, its new price will be $40 when your multiplier’s value is 0.8.
Show Roles on per Product Settings: Use this input field to select one or multiple user roles, to which, your product pricing settings must work.
Shipping: This option will only work when you have selected the Per Product Settings Type as Multiplier. If enabled, the user role multiplier will also be used in shipping cost calculations besides the product price calculations.
Disable Price Based on User Role for Regular Price: If you want to apply a global multiplier to your shop and disable setting different fixed costs per user role for your products, Disable this setting.
Search Engine Bots: This setting hides your user role-based pricing from search engines when you choose to Disable Price Based on User Role for Bots. It implies, if you have set the price for a product for your admin as $50 (while $70 for others), the admin-specific pricing will not be shown in search engine listings. This way, you can easily maintain the authentication-based pricing schemes for the variety of users in your store.
Show Empty Price Variations: In case you do not want a particular user role to make purchases of your several products, use this setting. It will hide your product’s price and the option to buy it. Users (matching this setting) will only see product details and visuals when this configuration is enabled.
Note: Not only will it hide your product’s price and the add-to-cart button, but the ‘out-of-stock’ alerts too.
Remove Empty Price Variation Callback: If you don’t want any page in the store to fetch price variation’s value for your selected product, enable this option. Doing so will disable the “woocommerce_single_variation” callback from its hook when the “empty price variations” is enabled.
Remove Empty Price Add to Cart Button Callback: Disable the add-to-cart button callback for your store by enabling this option.
Check Child Categories: Enable this feature to apply the same settings to the child category as the child’s parent category.
Advanced Options #
- Set a higher value for the Price Filters Priority field if your Prices Based on User Role setup is not working as per your expectations.
- Try Enabling the Disable price Based on User role for products with “Price Changes” option for your store if you suspect compatibility issues for this plugin (with some other plugin/module/tool).
- Use the ‘WPML: Get Terms in All Languages’ feature to fetch tags and taxonomies in all languages, in case you are using the WPML plugin for your multilingual eCommerce store.
Compatibility #
Select the WooCommerce Product Bundles checkbox for this plugin if you want to configure different user role-based prices for your product bundles.
Adding Custom Roles to Use with the Prices by User Role Settings #
Let’s say you want to apply diverse product pricing to a group of people in your store, but they are a subset of a bigger group. For such a scenario, you must create custom user roles/groups and apply the settings then. With Booster, it is an easy task!
Note: Follow the same steps to search for the General plugin as we followed for the Prices Based on User Role plugin in the beginning.
- To add custom user roles to your eCommerce shop, enable the General Module (enlisted in the category Emails & Misc.).
- In the Tools section, go to the Add/Manage Custom Roles
- Add New Role by specifying their ID, name, and capabilities. From this part of the dashboard, you can add any number of custom roles for your shop. When required, these roles can be deleted too.
Roles and Multipliers #
- Use the Disable Price Based on User Role for Products on Sale option to disallow applying user role based product pricing for the ‘Products on Sale’.
If you have not selected the Disable Price Based on User Role for Products on Sale option, you can add different pricing for products. For this, use one of the given values for your desired user roles:
- Select the Make Empty Price checkbox to make the product unavailable for this user role in the sale.
- Enter 1 to retain the regular price for this user role in the sale.
- Enter your preferred price to set a user role based price in the sale.
Price Based on User Role by Products Categories #
- Select one or multiple categories to enable user role based product pricing.
- Enter the value for various user roles for the selected categories as:
- -1 (Minus One), to apply the global multiplier to this value;
- Select the Make Empty Price checkbox to make the products from these categories unavailable for this user role.
- Enter your preferred price to set a user role based price for this category.
Price Based on User Role by Tags #
- Select one or multiple tags to enable user role based product pricing for them.
- Enter the value for various user roles for the selected tags as:
- -1 (Minus One), to apply the global multiplier to this value;
- Select the Make Empty Price checkbox to make the products from these categories unavailable for this user role.
- Enter your preferred price to set a user role based price for this category.
Reset Settings #
Click the Reset Settings button to start using the old (default) settings for this module, or to edit settings from the very beginning for the WooCommerce Prices Based on User Role module.
Example: Setting Prices Based on User Role #
Here’s how you can set WooCommerce Prices Based on User Role:
- Enable the WooCommerce Prices Based on User Role module and change module settings as per your store’s requirements. For this, steps and details are given above.
- Navigate to the product you want to apply the Prices Based on User Roles settings to. You may find it in Products > All Product or use the Edit button on the top of your product page when your administrator session is active.
- Now, open the product in Edit Mode and you will see the Booster: Price Based on User Role meta box added to it.
- Enable the Per Product Settings section and press Update after changing this setting. Select the Yes as your option to do so.
- Enter pricing and other configuration details for each user role in this section.
For example, if you set a Regular Price and a Sale Price for a product here, the buyer with the related user role will see the prices you’ve entered.
Frontend View 1:
A Price Different from the actual product price is applied for the ‘Administrator’ User Role.
On the other hand, if you want to retain the original product price for the user role, you may leave the pricing fields empty.
Frontend View 2:
Default Regular and Sale Price in Shop when no Prices Based on User Role are set.
Now, if you want to disable showing the price for the current user role for this product, set the value for option Make Empty Price as ‘yes’.
Even if you will leave the regular and sale price details empty in this case, the frontend view will remain the same.
Frontend View 3:
Enabling Empty Prices for a User Role for a Product