WooCommerce hidden products: 8 ways to set product visibility in your store (+ video)
There are many reasons why you may want to create WooCommerce hidden products in your online store. For some, this may be because they sell to both retail customers and B2B buyers. Or, membership site owners might want to make exclusive products (like merchandise) available to members only. You may wish to hide prices, entire categories or limit WooCommerce product visibility.
How to hide products in WooCommerce – our complete guide
Whatever your reason for setting up WooCommerce hidden products, the good news is that there are several different ways you can do so. In this guide you’ll learn how to hide products from your shop page in WooCommerce by installing the WooCommerce Members Only Plugin.
In this article, we’ll explain:
- What are WooCommerce hidden products?
- The standard method to hide WooCommerce products
- Advanced methods for hiding WooCommerce products
- Hiding products individually, by category, and all products
- Hiding products according to user role
- How to hide products by log-in status
- How to hide products with passwords
- Hide products by user ID
- How to redirect users away from hidden products
Use the menu on the left to skip straight to the specific area you’re interested in.
Depending on the type of online store you’re running, you can set and control WooCommerce product visibility however you’d like. Before we begin, let’s quickly take a look at some examples of WooCommerce hidden products and how WooCommerce product visibility is handled by default.
What are WooCommerce hidden products?
Lots of online sellers create WooCommerce hidden products. These are products that are added (and published) on the WooCommerce store but are “hidden” from the main shop page and product archives.
More specifically, WooCommerce hidden products are products that fall under one or more of the following categories:
- WooCommerce products that aren’t visible to some (or all) users in the main shop page or product archives
- Products that aren’t accessible by a direct URL
- Products that are invisible to search engines i.e. they’re not indexable
Generally speaking, online store owners create WooCommerce hidden products for a variety of reasons. The main idea, however, is to make certain products available to specific types of customers only.
Hidden products use cases
Here are some common use cases:
- Wholesale stores: WooCommerce wholesale stores and B2B stores that sell to both retail and wholesale customers might need a way to make certain products available to wholesale customers only. For example, these could be product bundles or different products altogether.
- Membership sites: WooCommerce membership sites often sell exclusive products in addition to the products they sell to regular (non-member) customers. These may include tickets to events, engraved merchandise, or limited-edition products.
- Members-only stores: Members-only stores are those that make products available to logged-in members only. In other words, to view and purchase products, you need to be a registered member.
There are, of course, dozens of more scenarios where you might need to create WooCommerce hidden products. The different methods we cover can be adapted to just about any online store looking to hide WooCommerce products from the shop page.
The standard method to hide WooCommerce products
Out of the box, WooCommerce provides a simple way to hide WooCommerce products from the main shop page. This is possible with the ‘Catalog Visibility’ setting.
Open up the product you’d like to hide in the ‘Edit product’ screen. The ‘Catalog visibility’ option (in the ‘Publish’ widget to the right) lets you decide which shop pages the product will be listed on. Select the ‘Hidden’ option to hide products from the shop page in WooCommerce.
The main drawback of this method is that anyone can still access the product if they have a direct URL. In addition to this, it’s not suitable for store owners that need to hide multiple products since it requires you to edit each product manually.
Advanced methods for limiting WooCommerce product visibility
The good news is that you can easily make use of several advanced methods for creating WooCommerce hidden products using the WooCommerce Members Only plugin.
The WooCommerce Members Only plugin lets you hide WooCommerce products from your online store in a variety of different ways.
Plugin features
The plugin offers:
- Password options to hide individual WooCommerce products, WooCommerce product categories, or all WooCommerce products at once.
- User role options to hide WooCommerce products for specific user roles only. This is great for membership sites and stores that sell to different types of customers.
- User ID option for only allowing specific users access to hidden WooCommerce products.
- Log-in status option for allowing only logged in users to access the WooCommerce hidden products. WooCommerce store owners that want to offer exclusive products to customers with user accounts, for example, might find this option useful.
Essentially, it gives you fine-grained control over WooCommerce product visibility and lets you choose how you’d like to restrict access. Put simply, it allows you to decide exactly who can view and purchase your WooCommerce products.
The WooCommerce Members Only plugin also comes with a built-in user role manager. You can use it to create new roles, assign capabilities, and update existing roles. It’s the easiest way to hide products from the shop page in WooCommerce.
Hiding products individually, by category, and all products
With the WooCommerce Members Only plugin, you can easily:
- Hide individual WooCommerce products
- Hide all products in a specific category
- Hide all WooCommerce products in your store
To hide an individual WooCommerce product, open it up in the ‘Edit product’ screen and scroll down to the ‘Product data’ section. Click on the ‘Members Only’ tab.
Restriction method
Select a ‘Restriction method’ from the dropdown menu. If, for example, you choose ‘Password’, you’ll need to enter a password (or create a list of passwords) that unlock the product. You can also hide products by individual user or by user role.
WooCommerce hide categories
In order to hide WooCommerce products by category or hide all WooCommerce products in your store, head over to WooCommerce > Settings > Members Only from the WordPress admin panel.
Choose a ‘Restriction Method’ and set the ‘Restricted Content’ option to ‘Specified Categories’. Finally, enter the restricted categories in the ‘Restricted Categories’ field, set a password, and decide where you want the password form page to appear.
Hiding all WooCommerce products
You can hide all WooCommerce products from your online store the same way. Simply set the ‘Restricted Content’ option to ‘All Product Pages’.
Hiding products according to user role
Assuming you already have user roles created, you can create WooCommerce hidden products according to user role in just a few steps.
For example, let’s say you want to hide multiple WooCommerce products by user role(s).
- Head over to WooCommerce > Settings > Members Only and select ‘User Role’ as the ‘Restriction Method’.
- Decide if you want to hide products in a specific category or all WooCommerce products using the ‘Restricted Content’ option.
- If you select ‘Specified Categories’, you can also specify exactly which WooCommerce product categories in the ‘Restricted Categories’ field.
- Finally, enter one or more user roles in the ‘Permitted User Roles’ field. These are the user roles that can view the hidden WooCommerce products.
Be sure to check out our in-depth tutorial on hiding WooCommerce products by user roles for step-by-step instructions.
Hiding products by log-in status
If you’re running a membership site or would like to create WooCommerce hidden products for members only, you might consider hiding products by the user’s log-in status.
- Head over to WooCommerce > Settings > Members Only and select ‘Log In Status’ as the ‘Restriction Method’.
- Decide if you want to hide products in a specific category or all WooCommerce products using the ‘Restricted Content’ option.
- Specify exactly which WooCommerce product categories you’d like to hide by entering them in the ‘Restricted Categories’ field.
Hiding products with passwords
The WooCommerce Members Only plugin lets you assign multiple passwords (or a single password) to individual WooCommerce products, WooCommerce product categories, or to all WooCommerce products in your store. This is a great option for store owners that need an easy way to run marketing campaigns or offer promotions.
- Head over to WooCommerce > Settings > Members Only and select ‘Password’ as the ‘Restriction Method’.
- Decide if you want to hide products in a specific category or all WooCommerce products using the ‘Restricted Content’ option.
- Specify the WooCommerce product categories you’d like to hide by entering them in the ‘Restricted Categories’ field.
- Enter a single password (or a list of passwords) in the ‘Passwords’ field.
- Select which page the password form should appear on using the ‘Password Form Page’ option.
You can also hide individual WooCommerce products with a single password (or multiple passwords) by going into the ‘Members Only’ tab from the ‘Product data’ settings.
Check out this article on hiding WooCommerce products with passwords for more information.
Hiding individual products by user name
Sometimes, you might need to hide individual WooCommerce products by user name. This is useful for when you need to make WooCommerce products available to a handful of users only.
Open up the product you’d like to hide, scroll down to the ‘Product data’ section, and click on the ‘Members Only’ tab. Next, set the ‘Restriction method’ to ‘By User’ and enter the users you’d like to grant access to. You can just start typing the name in this field and the plugin will automatically find them for you.
Hide in Archives
You can also choose to hide the WooCommerce product in archives (main shop page, category pages, and tag archives) by ticking the checkbox next to the ‘Hide in Archives’ option.
Check out this in-depth tutorial on creating client-specific products in WooCommerce for more ideas.
Redirecting users away from hidden products
To deliver a good user experience, you may want to redirect users away from hidden products if they try to access them. This is especially useful for WooCommerce membership sites and members-only sites. The WooCommerce Members Only plugin makes this incredibly easy.
- Head over to WooCommerce > Settings > Members Only from the WordPress admin panel.
- Select a ‘Restriction Method’ using the dropdown menu.
- Use the ‘If Restricted, Redirect To’ field to select the page you’d like to redirect unauthorized users to.
- You can choose one of the default WooCommerce pages such as ‘My account’.
- Alternatively, you can create a custom landing page to redirect users to.
This is the easiest way to redirect users who don’t have permission to access the WooCommerce hidden product(s) to a different page without delivering poor user experience. Not to mention, it gives you the option to encourage those users to sign up for your membership or register for a user account.
WooCommerce hidden products – video
Conclusion
The WooCommerce Members Only plugin lets you create WooCommerce hidden products and set product visibility in a variety of different ways.
Also, be sure to check out this tutorial on how to hide out of stock products in WooCommerce.
Do you have any questions about how to create WooCommerce hidden products for your online store or membership site? We’re happy to help; just drop a comment below.
FAQs
- Question: What is the difference between a hidden product and a private product in WooCommerce?
Answer: WooCommerce doesn’t allow you to create private products. You can make a WooCommerce product “hidden” to hide it from the shop page and product archives – however, users could still access this product if they had the URL. You can make a product truly private so that only certain users, e.g. specific user roles, can access it, using the WooCommerce Members Only plugin.
- Question: How do I make a product private in WooCommerce?
Answer: You can’t do this by default in WooCommerce, but you can use plugins like WooCommerce Members Only to make products private and choose whom to make them accessible to. You can set rules so that specific products are only visible to users with a certain role, users that are logged in, or users with the correct password.
- Question: Why are my WooCommerce products not showing?
Answer: The most common reason for WooCommerce products not showing is due to improper catalog visibility settings. If the catalog visibility setting is set to “Hidden” or “Search results only”, the products will not appear on the shop page.
Hey, is there any method to hide courses that have been already purchased by student? I am using Learn dash and Woo-Commerce plugin and I want to hide that course if already purchased.
Hi – hiding courses and other post types is coming in the next version of the plugin.
Hello, I would like to know if it is possible to restrict individual woocomerce products according to role. If the user does not have the role, the woocomerce product is restricted from buying it, for this the notice appears instead of the shopping cart, as the image that allows the continuation.
https://i.ibb.co/gjMNZv2/see.png
If the user acquires role, he can have access to buy the product.
In conclusion, the user can see the product page and details but cannot buy it or add it to the shopping cart.
Is it possible to do this in this plugin?
Hi – yes, you can hide individual products by user role. Please see: https://pluginrepublic.com/woocommerce-hide-products-by-user-roles/
Thanks
Gareth
Thank you for your quick response! So I would need the WooCommerce Membership plugin to access this feature?
Yes, that’s correct.
Is it possible to hide a product/item from the catalogue but still allow an admin to use it to create a custom order for a customer? I can appreciate hiding a product for admin-only access, but does that extend to cart functionality as well?
Hi Dwaynne
Yes, you can hide a product on the front end but still allow admins to use it to create a custom order manually on the back end.
Thanks.
Hello,
This article was very helpful. I’m curious if there is a way to hide a product where it can not be accessed through keywords in the search bar. When I select ‘publish public’, and ‘hidden’, the product is hidden from my catalogue and shop, but it still appears when searched. When I select ‘publish private’, it cannot be accessed even with the direct url permalink. Ultimately, I need my product hidden from my shop and through searching key words, yet accessed from a specific page when the direct URL is hyperlinked.
Hi
I’m currently looking into this as a feature in a future version of the plugin.
Thanks
Gareth
Thanks for this writeup. Would there be any possibility to restrict by cart amount? As in, have certain products available only when the cart amount reaches a certain value? I can’t seem to find anything that does this out of the box.
Hi
That’s a good question. It sounds like it would need to be a custom solution – I don’t know of a plugin that does this out of the box.
Thanks
Gareth
Hey there,
I am looking for a plugin that allows me to hide a product that is used within a bundle. Which means, that whenever a product is used in a bundle, it can be only seen in a bundle. The single page of the product needs to be hidden so the product can only be bought in the bundle. Is that a function you already considered to add here as well or is there a way, that the plugin can be used to fulfill this task?
Hi Elena
Yes, you can do that with Product Add-Ons Ultimate, Pro version: https://pluginrepublic.com/wordpress-plugins/woocommerce-product-add-ons-ultimate/.
There’s a support article on ensuring that users can’t access the single product page here: https://pluginrepublic.com/documentation/product-fields/#h-hiding-child-products-on-the-site.
Thanks.
Thanks a lot !!!!!
Hello,
Would it be possible to hide a woocomerce product from the backend? Is there a plugin i could use for that?
Thank you,
Hi Maria
I don’t know of a plugin that will hide a product from the backend.
Thanks.
Hy, I have 3 roles, vendor, customer, admin.
If the creator of the product is admin, I want that user with role vendor & customer cannot see the product.
If the creator of the product is vendor or customer, no restrictions.
Is it possibile?
Thanks Piero
Hi Piero
Could you clarify what you mean by ‘creator of the product’? By default, a product could not be created in the backend by a user with the vendor or customer role, so I’m not clear on the exact requirements here.
Thanks.
Hey can I use this to hide specific products from specific customers not a user role. So they all have customer role but only specific userids can see a specific product.
Hi
Please see this article for hiding specific products from specific customers: https://pluginrepublic.com/create-client-specific-products-woocommerce/.
Thanks.
Hello!
Is there any option within the plugin, where I can control that certain product options can only be purchased by paying members? I don’t want to hide the whole product or category from non-paying members, but only certain options of the product.
Example:
I have red, blue, green version of a product. Anyone can buy red and blue, but only paying members can buy green. Thank you!
Hi
Yes, this would be a possible with a small code snippet. We could help you with that if you liked.
Thanks