Looking for a solution to hide WooCommerce products at your store? Sometimes you don't want every single product available to the public, especially if you're running something like a B2B/wholesale or members-only store (though the use cases definitely don't stop there).
In this post, I'll show you how to hide WooCommerce products using three different methods, depending on the level at which you want to hide your products. By the end of this article, you'll be able to hide:
- A single product using core WooCommerce functionality
- An entire category of products using the WooCommerce Protected Categories plugin (either by password, role or individual user login)
- Your entire store using the WooCommerce Private Store (either by password or user login)
Which way of hiding WooCommerce products is right for you?
I'll keep this brief because you probably have a good idea of which is right for your situation already.
But in a nutshell:
- The core WooCommerce functionality is helpful if you just need to hide a single product. But it becomes difficult to manage if you want to hide multiple WooCommerce products.
- WooCommerce Protected Categories is good if you want to just create some hidden products in an otherwise public store. You can use it to password protect products based on category; hide products by role; or hide products from everyone except specific users.
- WooCommerce Private Store is good if you want to make every single product hidden. You can use it to password protect your entire store, or hide it from all logged out users (guests).
Below, I'll take you through how to use each plugin to hide WooCommerce products, as well as the core WooCommerce functionality.
How to hide a single WooCommerce product
Note: when you use this method, your product is hidden from the shop pages. But if a user gets their hands on a direct link, they'll still be able to access the product. For that reason, this method is not a good approach if you actually want to make the product private - not just hidden.
Also, this method isn't very efficient if you need to hide multiple products, as you'll need to manually edit every single product. If you want to hide lots of products, it's much more efficient to just bulk assign them to a category and hide that category using the next method.
If you're ok with the product still being accessible by direct URL, you can hide it by editing the Catalog visibility option under Publish and choosing Hidden:
How to hide an entire category of WooCommerce products
To get started, you'll need WooCommerce Protected Categories installed and activated at your WooCommerce store.
Then, create a new product category for your private products. I'll give mine a creative name of "Private Products", but you can name yours whatever makes sense.
Once you have the category, assign the products that you want to hide to that category.
Now, you've come to the point where you need to make a choice about how you want to let people "unhide" the products in this category. You can:
- Let users unhide the products by entering a password
- Make the products automatically visible to certain users or user roles
How to password protect your hidden WooCommerce category
To add password protection, go to Products → Categories and edit the category that you created for your private products:
- Scroll down to the Visibility section
- Select Protected -> Password protected
- Enter your desired password. You can also add multiple passwords to unlock the category if you want to give different users different passwords
- Save your changes
Then, you can configure how your password protected categories function by going to WooCommerce → Settings → Products → Protected Categories.
In this area, you'll want to:
- Uncheck the two Category Visibility boxes to make your category 100% hidden
- Select a Category Login Page where users can enter the password to see the hidden category/products
You can also peruse the other settings to see if anything applies to your specific needs.
Case study: eLearning Launchpad
eLearning Launchpad is a TOGAF 9 accredited training course provider based in the US. Delegates on training courses need to be able to download the course materials in advance of attending the courses.
But instead of using a commercial filesharing service, our WooCommerce Protected Categories plugin hides WooCommerce Products by working alongside the Free Downloads WooCommerce Pro plugin from Square One Media.
Here’s how the two plugins work together. A password protected category page hides the course materials (i.e. WooCommerce products). A password is sent to course participants to access the category page. Then the materials can be downloaded. Thanks to the Free Downloads WooCommerce Pro plugin, they’re able to capture a few details before any file is downloaded.
The site’s owner is pleased with how our plugin is hiding their WooCommerce products, just look at his feedback:
“I like the category simplicity and flexibility, and the ability to quickly add and delete multiple passwords”
How to hide WooCommerce products by specific user or user role
If you'd prefer to automatically give access to the hidden products to certain users or entire roles:
- Go to Products → Categories
- Edit the category that you created for your hidden products
- Scroll down to the Visibility section
- Select Protected → Users and choose which users and/or roles can access your hidden WooCommerce products.
- Save your changes
Then, you can configure how your user and role protected categories function by going to WooCommerce → Settings → Products → Protected Categories. Here, you need to choose what happens when a logged out or guest user tries to access a hidden category or one of its products:
How to hide your entire WooCommerce store
Now it's time for the third, and most private, way to hide WooCommerce products.
If you want to hide all of your products from the public, you'll need the WooCommerce Private Store plugin installed and activated.
Then, go to WooCommerce → Settings → Private Store to configure the plugin.
Just as with hiding specific categories of products, you can hide your store in two different ways:
- Require users to enter a password to unhide the store
- Automatically unhide the store for logged in users
Password protecting your hidden store
To add a password:
- Enter a password (or multiple passwords) in the Store passwords box
- Choose how long the password should unhide the store for (in days) in the Password expires after box
- Enter the page you want users to be taken to after logging in using the Redirect URL box
- Configure the Login form options
Letting logged in users see your private store
If you want to automatically allow logged in users to see your private store, you just need to check the box for Automatically unlock the store for logged in users. Underneath, you'll find an option to choose which user roles to unlock the store for. This is handy if you only want certain user roles to have access, such as administrators and store managers.
You can also choose whether or not to Hide the login form… that displays for users who aren't logged in:
Three different options to hide WooCommerce products
Whether you need to hide a single product, one or more categories of products, or your entire WooCommerce store, one of the above methods should work for you.
- To hide a single product, you can use the Hidden Catalog Visibility option. Just remember that people can still see the product if they get a direct link - it's not actually private.
- If you want to hide an entire category of WooCommerce products, WooCommerce Protected Categories lets you do so via either password protection or specific logged in users or roles.
- To hide your entire WooCommerce store, WooCommerce Private Store lets you do so via either password protection or by automatically unhiding your store for logged in users.
Any other questions about how to hide WooCommerce products on your WordPress website? Leave a comment and we'll try to help out.