If your store carries products that are not meant for wholesale, such as retail-only items, samples, or products you have not assigned a wholesale price to, you may not want your wholesale customers to see them at all. WooCommerce Wholesale Prices Premium includes a setting that automatically hides any product without a wholesale price from customers who are logged in with a wholesale role.
Requirements
- WooCommerce installed and active.
- WooCommerce Wholesale Prices Premium installed and activated. This setting is not available in the free WooCommerce Wholesale Prices plugin.
- At least one wholesale role created and assigned to the customers you want to target. Configure this under Wholesale → Roles.
- A wholesale price set on any product you want to remain visible to a given wholesale role.
Turn on the setting
- Go to Wholesale → Settings.
- Click the Wholesale Prices tab.
- Under General, find the Wholesale Products section.
- Enable Only Show Wholesale Products To Wholesale Customers.
- Click Save Changes.

Once enabled, any product without a wholesale price for a customer’s wholesale role is hidden from that customer.
How the setting decides which products to hide
The setting checks whether a wholesale price has been set for the product and the customer’s wholesale role. Products without one are removed from the shop page, category pages, and search results for that role, and are also filtered out of cross-sells and up-sells shown on other product pages.
What happens on the single product page
If a wholesale customer opens the direct link to a product that has no wholesale price for their role, they are redirected to the shop page instead of seeing the product.
Wholesale price set to 0
A wholesale price explicitly set to 0 counts as a defined price. The product stays visible. Only a product with no wholesale price entered at all is treated as hidden.
Grouped products
A grouped product is hidden only when every one of its child products has no wholesale price for the customer’s role. If at least one child product has a wholesale price, the grouped product stays visible.
Role-level overrides
Two other settings can override or compound with this one:
- General role-level discounts. If a wholesale role has a general discount mapped to it instead of individual product prices, every product is treated as wholesale-eligible for that role, and this setting has no further effect for it.
- Per-product wholesale role visibility. On the product edit screen, you can restrict an individual product to specific wholesale roles regardless of this setting. This works alongside category-level wholesale role restrictions.

Troubleshooting
Why are all products still visible to a wholesale role even with this setting turned on?
Check whether that wholesale role has a general role-level discount mapped to it instead of individual product prices. When a role has a general discount, every product is treated as wholesale-eligible for that role and this setting does not hide anything for it. Set discounts per product, or remove the role-level discount, if you want this setting to filter products for that role.
A product’s wholesale price is set to 0, but it’s still visible to wholesale customers. Is that expected?
Yes. A wholesale price of 0 is treated as a defined price, not a missing one, so the product remains visible. To hide a product, leave its wholesale price field empty instead of entering 0.
Do administrator or shop manager accounts see hidden products?
Administrator accounts always bypass this restriction. Shop manager accounts are only affected if you have also assigned them a wholesale role. If a shop manager account has no wholesale role, this setting does not apply to it either.
I updated the setting but products are still visible or hidden as before, what should I check?
Clear any page or object cache on your site, including caching plugins and host-level caching, then reload the shop page while logged in as the wholesale customer. Also confirm you clicked Save Changes after enabling the setting.
Frequently asked questions
Does hiding products from wholesale customers affect retail customers or guests?
No. This setting only affects customers who are logged in with a wholesale role. Retail customers and guests continue to see the full catalog as usual.
Can I hide a product from only one wholesale role instead of all of them?
Yes. Use the wholesale role visibility filter on the individual product’s edit screen to restrict it to specific wholesale roles, or set a wholesale role restriction at the product category level. Both work independently of this global setting.
Does this setting affect cross-sells and up-sells shown on other product pages?
Yes. Products without a wholesale price for the customer’s role are also removed from cross-sell and up-sell displays, not just the shop and category pages.
Does this affect the WooCommerce Blocks-based shop page and the REST API, or only the classic shop page?
It applies to both. Product filtering happens for classic shop and category pages, WooCommerce Blocks product queries, and the WooCommerce REST API product endpoints.
Does this work with WooCommerce Product Bundles?
Yes, if the WooCommerce Product Bundles plugin is active. Bundles with no wholesale-eligible child products for a given role are excluded the same way grouped products are.
Can I combine this setting with category-level or per-product wholesale role restrictions?
Yes. These restrictions compound with each other. A product can be hidden by this global setting, a category-level role restriction, or a per-product role restriction, and any one of them is enough to hide it from a given wholesale role.
Help & support
We have a dedicated support team for Wholesale Suite who knows our products, WooCommerce, and the industry very well. You’re welcome to make use of their expertise at any time, worldwide.
If you are an existing customer please go to the support ticket request form and send us a message.
If you are a free plugin user, please send us a support request on the forum. We actively monitor the WordPress.org support forums for the free plugin and help our users there as best as we can.
