=== Product Prices by User Roles for WooCommerce ===
Contributors: tychesoftwares
Tags: woocommerce, price by user role, role based pricing, user role
Requires at least: 4.4
Tested up to: 6.9.4
Stable tag: 2.0.0
Requires PHP: 7.4
License: GNU General Public License v3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Set user role based product prices in WooCommerce. Set Role based pricing globally or per product, hide prices for selected roles and more.

== Description ==

**[Product Prices by User Roles for WooCommerce](https://wordpress.org/plugins/price-by-user-role-for-woocommerce/)** plugin lets you display WooCommerce products prices by user roles.

Prices can be set **globally** or on **per product** basis.

When setting prices **globally**, you just need to set price multiplier for each user role.

When setting prices **per product** basis, you can set exact price for each product. Works with variable products.

You can also **hide product prices** for selected user roles.

**Some of our Pro plugins:**

1. **[Flexi BOGO for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-flexi-bogo-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Flexi BOGO for WooCommerce")**

1. **[Abandoned Cart Pro for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/woocommerce-abandoned-cart-pro/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Abandoned Cart Pro for WooCommerce")**

2. **[Booking & Appointment Plugin for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/woocommerce-booking-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Booking & Appointment Plugin for WooCommerce")**

3. **[Order Delivery Date Pro for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/order-delivery-date-for-woocommerce-pro-21/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Order Delivery Date Pro for WooCommerce")**

4. **[Product Delivery Date Pro for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/product-delivery-date-pro-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Product Delivery Date Pro for WooCommerce")**

5. **[Deposits For WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/deposits-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Deposits For WooCommerce")**

6. **[Payment Gateway Based Fees and Discounts for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/payment-gateway-based-fees-and-discounts-for-woocommerce-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Payment Gateway Based Fees and Discounts for WooCommerce - Pro")**

7. **[Custom Order Status for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/custom-order-status-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Custom Order Status for WooCommerce - Pro")**

8. **[Custom Order Numbers for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/custom-order-numbers-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Custom Order Numbers for WooCommerce - Pro")**

9. **[Product Input Fields for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/product-input-fields-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Product Input Fields for WooCommerce - Pro")**

10. **[Call for Price for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/woocommerce-call-for-price-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Call for Price for WooCommerce - Pro")**

11. **[Currency per Product for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/currency-per-product-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=PriceByUserRole "Currency per Product for WooCommerce - Pro")**

**Some of our other free plugins:**

1. **[Abandoned Cart for WooCommerce](https://wordpress.org/plugins/woocommerce-abandoned-cart/ "Abandoned Cart for WooCommerce")**

2. **[Order Delivery Date for WooCommerce - Lite](https://wordpress.org/plugins/order-delivery-date-for-woocommerce/ "Order Delivery Date for WooCommerce - Lite")**

3. **[Print Invoice & Delivery Notes for WooCommerce](https://wordpress.org/plugins/woocommerce-delivery-notes/ "Print Invoice & Delivery Notes for WooCommerce")**

3. **[Product Delivery Date for WooCommerce - Lite](https://wordpress.org/plugins/product-delivery-date-for-woocommerce-lite/ "Product Delivery Date for WooCommerce")**

4. **[Payment Gateway Based Fees and Discounts for WooCommerce](https://wordpress.org/plugins/checkout-fees-for-woocommerce/ "Payment Gateway Based Fees and Discounts for WooCommerce")**

5. **[Custom Order Status for WooCommerce](https://wordpress.org/plugins/custom-order-statuses-woocommerce/ "Custom Order Status for WooCommerce")**

6. **[Custom Order Numbers for WooCommerce](https://wordpress.org/plugins/custom-order-numbers-for-woocommerce/ "Custom Order Numbers for WooCommerce")**

7. **[Product Input Fields for WooCommerce](https://wordpress.org/plugins/product-input-fields-for-woocommerce/ "Product Input Fields for WooCommerce")**

8. **[Call for Price for WooCommerce](https://wordpress.org/plugins/woocommerce-call-for-price/ "Call for Price for WooCommerce")**

9. **[Currency per Product for WooCommerce](https://wordpress.org/plugins/currency-per-product-for-woocommerce/ "Currency per Product for WooCommerce")**

= Feedback =
* We are open to your suggestions and feedback. Thank you for using or trying out one of our plugins!

= More =
* Visit the **[Product Prices by User Roles for WooCommerce plugin page](https://wordpress.org/plugins/price-by-user-role-for-woocommerce/)**.

== Installation ==

1. Upload the entire plugin folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the "Plugins" menu in WordPress.
3. Start by visiting plugin settings at "WooCommerce > Product Prices by User Roles".

== External Services ==

This plugin communicates with our tracking server to send usage data **only** if the user has explicitly opted in to usage tracking. For detailed information about what is tracked, please refer to our [usage tracking documentation](https://www.tychesoftwares.com/docs/docs/price-based-on-user-role-for-woocommerce/).

== Changelog ==
= 2.0.0 - 16/06/2026 =
* Dev - Full plugin rewrite with a modern, namespaced PHP architecture for improved reliability and maintainability.
* Dev - New React-based admin interface for all settings pages.
* Dev - Settings are now stored in a single consolidated database option for improved performance.
* Dev - Automatic migration of all existing v1 settings on first activation after upgrade.
* Dev - Variable products now support per-variation role pricing, with automatic fallback to the parent product's role price if a variation price is not set.
* Security - Added access control checks to prevent unauthorized users from modifying order pricing roles.
* Security - Fixed a fatal error that could occur when dismissing admin notices under certain conditions.
* Tweak - Updated for compatibility with WordPress 6.9.4.
* Tweak - Updated for compatibility with WooCommerce 10.8.0.

= 1.15.0 - 06/01/2026 =
* Tweak - Updated for compatibility with WordPress 6.9.
* Tweak - Updated for compatibility with WooCommerce 10.4.3.

= 1.14.0 - 02/09/2025 =
* Fix - Multiplier was not being applied when creating orders manually.
* Fix - PHP warning displayed when creating a new manual order.

= 1.13.0 - 29/04/2025 =
* Fix - Issue where the multiplier was not correctly applying to the regular price on the product page when a sale price was also set.
* Fix - Regular price displayed twice or as sale price on the frontend, with or without user role-based settings.

= 1.12.0 - 22/04/2025 =
* Fix - A critical error was appearing while manually creating an order in a case where we enable the "Set a user role for this order?" option but don't select any user role.
* Fix - Resolved all PHPCS warnings and aligned the code with WordPress Coding Standards to enhance quality and maintainability.
* Tweak - Updated for compatibility with WordPress 6.8.0.
* Tweak - Updated for compatibility with WooCommerce 9.8.1.

= 1.11.0 - 22/11/2024 =
* Fix - Translation loading was triggered too early, causing errors when changing the site language in WordPress 6.7.
* Tweak - Removed the call to our tracking server to fetch the deactivation reasons and added them in the plugin itself.

= 1.10.0 - 22/10/2024 =
* Fix - Deactivation survey request was being sent even though 'Skip & deactivate' was selected while deactivating the plugin.

= 1.9.1 - 23/07/2024 =
* Fix - When the site admin creates the order manually, the user role price is disregarded.

= 1.9.0 - 03/04/2024 =
* Tweak - Update compatibility with WordPress 6.5.
* Tweak - Update compatibility with WooCommerce 8.7.
* Fix - Cross Site Request Forgery (CSRF) vulnerability.

= 1.8.0 - 13/02/2024 =
* Fix - Fixed Cross Site Request Forgery (CSRF) vulnerability.

= 1.7.0 - 18/07/2023 =
* Enhancement - Added deactivation survey v2.
* Fix - Warning errors displayed on the plugin's tab when the WPBakery Page Builder plugin is activated.
* Fix - Compatibility with PHP 8.1.12.
* Fix - Fixed PHP warnings reported in debug log.

= 1.6.0 - 24/01/2023 =
* Enhancement - Add Option to select the Price as per user role for the orders created manually.
* Fix - Fatal error on the "Multipliers" & "Per Product" tabs.

= 1.5.0 - 15/11/2022 =
* Enhancement - Introduced compatibility with WooCommerce High Performance Order Storage.

= 1.4.3 - 24/05/2021 =
* Tweak - Now shop manager role will be able to edit the product prices for all the user roles.
* Fix - Price filtering widget was not working on shop page when different price was set for the different user roles. This is fixed now.

= 1.4.2 - 10/06/2020 =
* Update compatibility with WooCommerce 4.2.
* Plugin name changed to Product Prices by User Roles for WooCommerce.

= 1.4.1 - 20/03/2020 =
* Update compatibility with WooCommerce 4.0.0.

= 1.4 - 24/08/2019 =
* Changes in code to make the plugin compliant as per WPCS rules.

= 1.3 - 13/05/2019 =
* Tweak - Modified the code to load the roles and prices for per product settings using jQuery instead of forcing a page reload.
* Fix - Added the uninstall.php file to ensure plugin cleans up its records when deleted.

= 1.2.2 - 16/11/2018 =
* Author name and URL updated due to handover of the plugins.

= 1.2.1 - 31/10/2018 =
* Compatibility with WooCommerce 3.5.0 tested.

= 1.2.0 - 09/09/2018 =
* Dev - Per Product - Listing all variations for variable products (instead of "available" only).
* Dev - Code refactoring: `version_updated()` function added; autoloading plugin options; settings are saved as main class property; `admin` folder renamed etc.
* Dev - Admin setting descriptions updated. Minor meta box restyling. Outputting tooltip with `wc_help_tip()`.
* Dev - Plugin URI updated.

= 1.1.1 - 09/06/2018 =
* Dev - Plugin renamed to "Price based on User Role for WooCommerce" from "Price by User Role for WooCommerce".

= 1.1.0 - 12/05/2017 =
* Dev - WooCommerce 3.x.x compatibility - `get_formatted_variation_attributes()`.
* Dev - WooCommerce 3.x.x compatibility - Product ID.
* Dev - WooCommerce 3.x.x compatibility - Price hooks.
* Fix - `woocommerce_variation_prices_sale_price` hook fixed.
* Dev - Code refactoring - `alg_get_product_display_price()`.
* Dev - Code refactoring - Price hooks.
* Tweak - Plugin header (Text Domain etc.) updated.
* Tweak - Plugin link changed from `http://coder.fm` to `https://wpcodefactory.com`.

= 1.0.0 - 27/01/2017 =
* Initial Release.

== Upgrade Notice ==

= 2.0.0 =
Major release. The plugin has been fully rewritten with a new admin interface. All existing settings and per-product pricing data are preserved and automatically migrated.

= 1.0.0 =
This is the first release of the plugin.
