If you sell wholesale, you’ll usually want some WooCommerce products seen and bought only by certain customers. This guide covers the options for controlling product visibility, and how those rules carry through to related products, upsells and the cart.
There are four main options for controlling product visibility across the store within the Wholesale Suite plugins (primarily speaking about WooCommerce Wholesale Prices Premium and WooCommerce Wholesale Order Form):
- The “Only Show Wholesale Products To Wholesale Customers” global setting
- The “Restrict To Wholesale Roles” visibility options on products themselves
- Making a variation “Wholesale Only” on individual variations
- The permissions and filters settings in WooCommerce Wholesale Order Form
The first three come with WooCommerce Wholesale Prices Premium and apply across your whole store, including related products, upsells, the cart and the WooCommerce Wholesale Order Form page. The last one applies only to the WooCommerce Wholesale Order Form page.
A quick way to choose the right one: use Restrict To Wholesale Roles (or a wholesale only variation) when you want to control whether guests and regular customers can see a specific product. Use Only Show Wholesale Products To Wholesale Customers when you want your logged in wholesale customers to see only the products that are relevant to them. The two solve different problems, so it helps to be clear on which one you need before you start.
1. Only show wholesale products to wholesale customers
This is a global setting on the Wholesale Prices settings page:
- Log in to WordPress.
- Go to Wholesale → Settings.
- Open the Wholesale Prices tab, then General.
- In the Wholesale Products section, check Only Show Wholesale Products To Wholesale Customers.
- Save your changes.
After you save, the store checks each logged in customer’s role. A wholesale customer sees a product only if it has a wholesale price for their role.
Who this affects: this setting only applies to logged in users who already have a wholesale role. It hides products that do not have a wholesale price assigned for that role, so your wholesale customers see only the products relevant to them. It does not hide anything from guests or regular (non-wholesale) customers, so it is not the way to control what guests can see. To do that, use the Restrict To Wholesale Roles option below.
This also respects the global % discount and the product category % discount options (see our advanced wholesale pricing options guide for more info).
2. Restrict to wholesale roles
You can also restrict individual product visibility to certain roles only. This is really handy if you have multiple wholesale role tiers and need to restrict the visibility of particular products that get unlocked per role.
This option is in the Publish box on each product, labelled Restrict To Wholesale Roles:
3. Restrict variations to wholesale only
Have a Variable type product where you just need to make one variation “wholesale only”?
You can achieve this by making the individual variation a “Wholesale Exclusive Variation”. Check the box next to each wholesale role that can see the variation.
4. Permissions and filters settings in WooCommerce Wholesale Order Form
Our optimized WooCommerce order form plugin gives you the ability to further restrict what wholesale customers see on that page.
You can restrict access to this page by role. A customer without a permitted role sees an access denied screen instead. You set this for each order form: go to Wholesale → Order Forms, click the form name, open the Settings tab, and click Edit next to Form Permissions.



All of the Order Form filterings can be done on the order form editor page, from there you are able to set the Product sorting, loading style, variation visibility style, and what products will be included/excluded from the order form. To open the editor, go to Wholesale → Order Forms and click the form name.

For filtering or restricting the order form on a product category level, click the small gear icon on the Category Filter, and a settings panel opens. Click the Options tab and set the product categories you wish to include or exclude.

To set up the Order Form and see what it can do, read the WooCommerce Wholesale Order Form getting started guide.
How visibility rules apply to related products, upsells and cross-sells
Your visibility rules also apply to the product suggestions WooCommerce shows around your store. A product that a customer isn’t allowed to see is removed from the Related products block and the upsells (“You may also like…”) block on product pages, and from the cross-sells shown in the cart.
This applies to guests and to wholesale customers whose role isn’t allowed to see the product. It covers products restricted with Restrict To Wholesale Roles and products in a category restricted to certain wholesale roles. If “Only Show Wholesale Products To Wholesale Customers” is turned on, wholesale customers also won’t see suggested products that have no wholesale price for their role.
Administrators aren’t restricted, so restricted products still show in these blocks while you’re logged in as an admin. To check what a customer sees, log in with a wholesale customer account or open the store in a private window as a guest.
How visibility rules are enforced in the cart (version 2.1.1 and later)
From WooCommerce Wholesale Prices Premium version 2.1.1, a customer can’t add a product they aren’t allowed to see to their cart. This includes direct add-to-cart links, such as ?add-to-cart=123 added to a store URL. Instead of adding the product, the store shows this notice:
“This product is not available for your account.”
The cart is also checked again when the customer opens the cart page and at checkout. If a restricted product is already in the cart, for example because it was added before you restricted it, the customer sees this notice and can’t check out until they remove the product:
““[Product name]” is not available for your account. Please remove it from your cart before proceeding.”

These checks apply the same rules as the rest of the store: Restrict To Wholesale Roles, category restrictions, wholesale exclusive variations, and the “Only Show Wholesale Products To Wholesale Customers” setting.
In versions before 2.1.1, a direct add-to-cart link could still add a restricted product to the cart even though the product was hidden everywhere else. If you’re on an older version, update WooCommerce Wholesale Prices Premium to close this gap.
These checks are separate from retail-only products. To stop wholesale customers from seeing or buying products that have no wholesale price, see How to hide retail-only products from wholesale customers.
How to open a wholesale-only store to guests for a select few products
A common setup is a store that is wholesale only, where you still want to let guests buy a small number of specific products. You can do this with the Restrict To Wholesale Roles option covered above.
On each product that should stay wholesale only, assign the wholesale role or roles that are allowed to see it. Those products are then hidden from guests and regular customers. On the handful of products you want everyone to buy, leave Restrict To Wholesale Roles empty. Those stay visible and purchasable to all visitors, including guests, at their normal retail price.
The Only Show Wholesale Products To Wholesale Customers setting is not involved here, because it only changes what logged in wholesale customers see and has no effect on guests.
Having product visibility problems?
Sometimes, if you have used a product importer or bulk management tool, you may need to re-initialize the product visibility meta, which is used as an indicator for the system to identify which products to show to which users.
See here for instructions: How to re-initialize product visibility meta
Frequently asked questions
How do I hide wholesale products from regular customers?
Use the Restrict To Wholesale Roles option on each product you want to hide. Open the product, and in the Publish box assign the wholesale role or roles that are allowed to see it. The product is then hidden from guests and regular customers, and only the selected wholesale roles can see it. Leaving that field empty keeps the product visible to everyone. The Only Show Wholesale Products To Wholesale Customers setting does not do this, because it only affects logged in wholesale customers, not regular customers or guests.
Does wholesale visibility work with variable products and variations?
Yes, Wholesale Suite supports variation-level controls for variable products. You can mark individual variations as a “Wholesale Exclusive Variation” so only designated roles see those options. This means you can sell the same base product to all shoppers while limiting certain sizes, colors, or configurations to approved wholesale accounts.
What happens to wholesale product visibility after a bulk import?
Keep in mind that importing or managing products through external tools can disrupt visibility metadata. After a large import, some items may not display correctly to wholesale accounts until you reinitialize the product data. Running that reinitialize process refreshes the stored role assignments and restores normal behavior across your catalog.
Can I restrict wholesale products to specific buyer tier roles only?
Yes. Each product’s Publish box lets you assign access to one or more roles independently. If you operate multiple tiers, such as distributor and reseller levels, you can grant each group a different selection without affecting what the other sees. The WooCommerce Wholesale Order Form plugin extends this further with form-level permission filters for even finer control.
Why are wholesale-only products still visible to guest shoppers?
This usually means those products are not restricted at the product level. The Only Show Wholesale Products To Wholesale Customers setting does not affect guests, so enabling it will not hide products from them. To hide a product from guests, open the product and assign the allowed wholesale role or roles in the Restrict To Wholesale Roles option in the Publish box. For variable products, you can also make individual variations wholesale only. Once a product is restricted to wholesale roles, guests can no longer see it.
Can customers still buy a hidden product with a direct add-to-cart link?
Not from version 2.1.1 of WooCommerce Wholesale Prices Premium. When a customer uses an add-to-cart link for a product they aren’t allowed to see, the store blocks it and shows “This product is not available for your account.” The cart and checkout also check for restricted products and ask the customer to remove them before continuing. On older versions, a direct link could add a restricted product, so update the plugin if you’re below 2.1.1.
Why do I still see restricted products in related products or upsells?
Check whether you’re logged in as an administrator. Visibility rules don’t apply to admins, so restricted products still appear in Related products, upsells and cross-sells for you. Log in as a wholesale customer, or browse as a guest in a private window, to see what your customers see.
Need help?
If you have a question or run into any issues, we’re here to help.
- Premium users: Open a support ticket
- Free users: Visit our community forum


