=== Wholesale Suite – B2B, Dynamic Pricing & WooCommerce Wholesale Prices ===
Contributors: jkohlbach, RymeraWebCo, smub
Tags: woocommerce wholesale, b2b, wholesale pricing, catalog mode, dynamic pricing
Requires at least: 4.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.2.7.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

WooCommerce wholesale plugin for serving wholesale & B2B customers. Adds wholesale pricing, user roles, dynamic pricing & more.

== Description ==

**🏆 Highly rated WooCommerce wholesale plugin for adding wholesale prices & managing B2B customers.**

Trusted by 25k+ store owners with 500+ reviews. Helping store owners grow for over 10 years!

Adding ***WooCommerce Wholesale Prices*** plugin gives WooCommerce store owners the ability to supply specific users with wholesale pricing for their products. It's the perfect wholesale plugin for WooCommerce B2B.

= 👉 Adding wholesale prices is simple: =

1. Install & activate Wholesale Prices for WooCommerce (it's free!)
1. Edit the product you want to enter wholesale pricing for
1. Enter the wholesale price (works with simple and variable products!)
1. Change the customer's user role to 'Wholesale Customer' and they'll see the wholesale price

Check out how easy it is to add wholesale pricing to WooCommerce:

https://youtu.be/AnmoSvoXJMI

= Key Features (Free Wholesale Plugin) =

* New user role "Wholesale Customer"
* Set wholesale prices for the new user role (different prices per product) on Simple product or Variable product variations
* Show/hide the retail price from wholesale customers
* Private store/WooCommerce catalog mode option (hides price & add to cart until login)
* Disable WooCommerce coupons for wholesale customers
* Adjust the wholesale user role name & wholesale price text
* Works with any theme
* Works with WooCommerce CSV import/export tool
* Multi-currency support with Aelia Currency Switcher, WPML Currency & WOOCS
* Translatable via WPML
* Multi-site compatible
* 🚀 Get started quickly with the [getting started guide!](https://wholesalesuiteplugin.com/kb/woocommerce-wholesale-prices-free-plugin-getting-started-guide/)

***Wholesale Suite can handle complex wholesale businesses – see our full range of wholesale WooCommerce extensions:***

Learn more about Wholesale Suite: [Wholesale Suite for WooCommerce](https://wholesalesuiteplugin.com)

1. [WooCommerce Wholesale Prices Premium](https://wholesalesuiteplugin.com/woocommerce-wholesale-prices-premium/) – Premium add-on for this wholesale plugin with advanced product visibility, category & global % based pricing, quantity based pricing, tax controls, shipping & payment gateway restrictions for wholesale, minimum order amounts, multiple wholesale user role tiers, and loads more.
1. [WooCommerce Wholesale Order Form](https://wholesalesuiteplugin.com/woocommerce-wholesale-order-form/) – Wholesale order form plugin for showing your whole catalog on one page, fully AJAX driven with no reloading, fast add to cart, searchable & filterable.
1. [WooCommerce Wholesale Lead Capture](https://wholesalesuiteplugin.com/woocommerce-wholesale-lead-capture/) - Wholesale registration form, advanced user approvals system, wholesale login, email templates, and more.

Want to do WooCommerce category discounts and WooCommerce tiered pricing with your wholesale customers?

Want to create a WooCommerce private store? Show or hide certain products with visibility controls? How about providing a quick wholesale order form? Wholesale registration with user approvals? 

The [Wholesale Suite bundle](https://wholesalesuiteplugin.com/bundle/) includes all of these features and more.

= WOOCOMMERCE WHOLESALE PRICING EXTENSION – FREE, SIMPLE & ACCURATE =

No complex setups and no confusing WooCommerce dynamic pricing or WooCommerce discount rules to figure out. It's simple plug-and-play. 

Providing WooCommerce bulk discounts has never been easier for wholesale WooCommerce customer types (it adds a new user role for "Wholesale Customer").

Wholesale Suite lets you add new wholesale WooCommerce user roles to create additional role levels for your customers. This allows you to show multiple prices per product based on the user role.

After installing the plugin, you'll have a new user role called "Wholesale Customer". This acts exactly like the "Customers" user role that WooCommerce adds but lets you distinguish your wholesale customers.

In your Product Edit screen you'll find a new wholesale pricing box. This lets you enter wholesale prices for the Wholesale Customer user role, effectively giving them a wholesale discount based on their user role for the product.

To activate wholesale capabilities for your customers simply change their WordPress user account to the new wholesale user role and they will receive the wholesale pricing when they login. It's very simple and the plugin takes care of the rest!

If you want multiple WooCommerce user roles you can add an unlimited number of additional user roles with the [WooCommerce Wholesale Prices Premium add-on](https://wholesalesuiteplugin.com/woocommerce-wholesale-prices-premium/).

= WOOCOMMERCE DYNAMIC PRICING FOR WHOLESALE DISCOUNT RULES =

You might not always have a WooCommerce bulk discount for each product, so you don't have to set wholesale pricing for all of your products, you can just do a sub-set.

Similar extensions like WooCommerce dynamic prices extensions are NOT made specifically for wholesale or B2B purposes so they aren't aware of the challenges of WooCommerce B2B sales and they don't take into account the special needs of wholesale customers. This often leaves store owners feeling frustrated trying to figure out how all those WooCommerce discount rules hang together.

We have purposefully created Wholesale Suite as a flexible solution specifically for wholesale sales. It's the perfect solution to WooCommerce tiered pricing using WordPress's robust user role system.

This free version lets you set prices on Simple products & product variations easily for one wholesale user role and is a great way to get started selling to wholesale customers online.

= WORDPRESS WHOLESALE USER ROLES =

Display of your wholesale prices is automatic once your wholesale customers login to their account. The plugin takes care of the front end display. It's like giving a WooCommerce private store just for that customer.

The store admin just needs to add the new user role "Wholesale Customer" to the customer's user account and they will see the wholesale pricing that you have set on your products.

You can add multiple wholesale user role levels with the [WooCommerce Wholesale Prices Premium add-on](https://wholesalesuiteplugin.com/woocommerce-wholesale-prices-premium/).

You can also recruit new wholesale customers automatically with a custom WooCommerce user registration for your wholesale customers using the [Wholesale Lead Capture plugin](https://wholesalesuiteplugin.com/woocommerce-wholesale-lead-capture/).

= WOOCOMMERCE CATALOG MODE (PRIVATE STORE) =

Want to set up a WooCommerce private store in catalog mode? You can now do it easily with the free wholesale plugin option to hide add to cart and retail pricing.

Turn any store into a catalog only WooCommerce private store by simply enabling the option. Once done, only logged in wholesale users will be able to see pricing on your store.

This makes it easy to run a separate wholesale store if you want, or simply to create an online presence even if you only have a B2B wholesale business and not a retail business.

= COMPATIBLE WITH LOADS OF OTHER 3RD-PARTY PLUGINS =

Wholesale Suite is the most compatible wholesale WooCommerce plugin, hands down. We have worked with 100's of other developers in the community to ensure that your wholesale features can work with all your website's features.

It works seamlessly with complementary plugins such as [Advanced Coupons for WooCommerce](https://wordpress.org/plugins/advanced-coupons-for-woocommerce-free/), hundreds of popular shipping and payment gateways, WooCommerce Currency Switcher by Aelia (even with our free Wholesale Prices plugin!), WPML language switching plugin, WooCommerce Order Form and WooCommerce user registration (Lead Capture) by Wholesale Suite, and many more.

= WHOLESALE SUITE ADDITIONAL FEATURES (WOOCOMMERCE ORDER FORM, WOOCOMMERCE USER REGISTRATION, ADVANCED DYNAMIC PRICES & DISCOUNT RULES, PRODUCT VISIBILITY, MULTIPLE USER ROLES, TAX EXEMPTION & MORE) =

Add multiple wholesale roles, multi-levels of pricing, percentage based dynamic pricing, category based dynamic pricing, wholesale minimum order requirements, product min and step requirements, wholesale reports, WooCommerce product visibility control, WooCommerce order form, wholesale lead capture, wholesale WooCommerce user registration form & login form, and much more.

Click here to ditch the spreadsheets & learn what [Wholesale Suite](https://wholesalesuiteplugin.com/bundle/) can do for your wholesale business.

== Installation ==

1. Upload the `woocommerce-wholesale-prices/` folder to the `/wp-content/plugins/` directory
1. Activate the plugin through the 'Plugins' menu in WordPress
1. Visit the product you wish to edit and enter the wholesale price
1. Change the customer's user role by going to Users->All Users, clicking edit on the user, and changing their ***User Role*** to the Wholesale Customer role.
1. See the [getting started guide](https://wholesalesuiteplugin.com/kb/woocommerce-wholesale-prices-free-plugin-getting-started-guide/) for this plugin.

== Frequently asked questions ==

We have hundreds of guides and frequently asked questions answered in our online [knowledge base](https://wholesalesuiteplugin.com/knowledge-base/).

See the [getting started guide](https://wholesalesuiteplugin.com/kb/woocommerce-wholesale-prices-free-plugin-getting-started-guide/) for this plugin.

For more details about features please [see the product page here](https://wholesalesuiteplugin.com/woocommerce-wholesale-prices-premium/).

Click here to learn what else [Wholesale Suite](https://wholesalesuiteplugin.com/bundle/) can do for your business.

= How can I report security bugs? =

You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team helps validate, triage and handle any security vulnerabilities. [Report a security vulnerability.](https://patchstack.com/database/vdp/9e5fb944-ec6b-4bd8-97fc-cb9793adb416)

== Screenshots ==

See plenty of screenshots for this plugin and others at:
[https://wholesalesuiteplugin.com/woocommerce-wholesale-prices-premium/](https://wholesalesuiteplugin.com/woocommerce-wholesale-prices-premium/)

== Changelog ==

= 2.2.7.2 =
- Bug Fix: Registration field options not saved
- Bug Fix: Select dropdowns in drawer edit form render behind the drawer due to z-index conflict

= 2.2.7.1 =
- Bug Fix: Price Filter Doesn’t Work for Variable Products When Logged in as a Wholesale Customer
- Bug Fix: WWP_Dashboard Ant Design CSS Loads Globally on All Admin Pages, Breaking Third-Party Page Builders (e.g. Avada)

= 2.2.7 =
- Bug Fix: JavaScript Console Error Cannot read properties of undefined
- Bug Fix: Unable to filter product wholesale price if using General Discount Rules
- Bug Fix: Privilege escalation via REST API settings endpoint allows shop managers to write arbitrary cross-plugin options
- Improvement: Fully support wholesale price filtering for logged in wholesale customers

= 2.2.6 =
- Bug Fix: Incorrect Wholesale Order Meta on Subscription Orders and Subscriptions
- Bug Fix: PHP 8.0+ Fatal Error TypeError in REST API Wholesale Products Controller
- Bug Fix: Security Issues - Security Audit Findings
- Bug Fix: Security Vulnerabilities
- Bug Fix: Timeout Issue When You Have Large Orders
- Bug Fix: [Critical] SQL Injection Risk in Dynamic Query Construction
- Bug Fix: [Critical] SQL Injection Vulnerability - Multisite activation/deactivation
- Bug Fix: [High] Cross-Site Scripting (XSS) Vulnerability
- Bug Fix: [High] Missing Input Sanitization in GET Parameters
- Bug Fix: [High] Missing Input Sanitization in Product Query Filter
- Bug Fix: [Medium] Missing Input Sanitization in REST API
- Bug Fix: [Medium] Potential XSS in Unescaped Output
- Bug Fix: [Medium] SQL Injection Risk in Grouped Product Query
- Feature: Add 'SaveTo Wishlist Lite' plugin in 'About' page and in 'Promo Box' of Dashboard as well.
- Feature: Dashboard Tech Stack Transition With Promo Box Feature
- Improvement: Create Wholesale Quotes Promotion Page And Include Promo Box In About Page
- Improvement: New generator meta tag

= 2.2.5 =
- Bug Fix: Percentage Discounts Removed When Updating Product Data via Quick Edit
- Bug Fix: Product Price Not Filtering Wholesale Price
- Bug Fix: Security Vulnerability: Privilege Escalation Risk for Shop Manager
- Improvement: Wholesale Payments recommendation no longer showing on WooCommerce Payments settings

= 2.2.4.2 =
- Bug Fix: PHP Fatal Error: Undefined Method get_product_wholesale_sale_price()

= 2.2.4.1 =
- Bug Fix: Wholesale Price Becomes Retail Price  In Cart/Checkout When Coupon is used With Advanced Coupons Plugin

= 2.2.4 =
- Bug Fix: Fatal Error in WWP_Duplicate_Product Class and Missing Variable Product Variations
- Bug Fix: Fatal Error: woocommerce_store_api_register_endpoint_data() Undefined
- Bug Fix: Issue: Class "WWP_Rest_API_Client" not found during plugin activation
- Bug Fix: Legacy Cart Omits Regular Price for Subscriptions Under Wholesale Pricing
- Bug Fix: Missing Product When Wholesale price set to 0 and show wholesale products only enabled
- Bug Fix: Unable To Filter Product Category
- Bug Fix: Wholesale Price Displays Retail Price in Divi Woo Cart Products Widget
- Improvement: Add Cursor Project Rule

= 2.2.3 =
- Bug Fix: 500 error during wholesale API meta fetching wp-json/wholesale/v1/products/xxxxx
- Bug Fix: Can't Delete Custom Field On WWLC
- Bug Fix: Check if WWPP_LICENSE_ACTIVATED is defined before using it
- Bug Fix: FIlter Products By Price Not Filtering Wholesale Price
- Bug Fix: Fatal error while clearing trash via WP Rocket
- Bug Fix: Text under Price and Add to Cart Replacement Message is Not Translatable
- Bug Fix: Usage Tracking: Effectiveness is using future date
- Feature: Make the wholesale price is filterable
- Improvement: Additional 1-click plugins on about page
- Improvement: Getting Started page
- Improvement: Remove FunnelKit Stripe from about page

= 2.2.2.1 =
- Bug Fix: Fatal Error: Value Passed To gmdate() Is A String Instead Of Integer Timestamp

= 2.2.2 =
- Bug Fix: Critical Error When Saving Wholesale Prices Setting
- Bug Fix: Function _load_textdomain_just_in_time was called incorrectly error
- Bug Fix: Original price config to be hidden still showing on Woo 9.5RC
- Bug Fix: Usage Tracking effectiveness is fetching 2 weeks before and the next week
- Bug Fix: wwp_store_management_link_script JS is causing conflict with DPD France plugin
- Feature: An option to add Regular Price Suffix/Text
- Improvement: Only Set/Update Wholesale Price Text Option in New Installation

= 2.2.1.1 =
- Improvement: Settings to support button redirect action
- Bug Fix: WWP Pointer layout issue

= 2.2.1 =
- Feature: Recommend Wholesale Payments via admin bar menu pointer
- Feature: WC Subscription: Backend - Wholesale price on the product listing
- Feature: WC Subscription: Create UI to subscription wholesale price fields (Simple and variable subscription type)
- Improvement: Add Wholesale Payments entry to Upgrade screen on Settings
- Improvement: Add new plugins to about page and make 1-click install
- Improvement: Add tip for wholesale payments to payment gateways table footer
- Improvement: Wholesale Price Text setting support on the Cart page
- Bug Fix: About and Help page layout issues on header
- Bug Fix: Admin roles: The administrator role should not be dismissible and should hide other unnecessary roles
- Bug Fix: Critical Error When Adding Product on Backend Order
- Bug Fix: Do not send effectiveness usage data if site contains localhost or staging identifiers
- Bug Fix: Menu sub page ordering is wrong
- Bug Fix: Various issues with WPAY in-app landing page
- Bug Fix: scripts and styles loaded by Vite are not enqueued properly when using a CDN

== Upgrade notice ==

There is a new version of WooCommerce Wholesale Prices available.
