How to restrict products to be visible only to certain WooCommerce users

If you’re running an eCommerce website with WooCommerce, you might have come across the need to restrict product visibility to certain users. Maybe you have exclusive products that only VIP customers or wholesale customers should be able to see, or perhaps you want to hide some products from regular customers. Whatever your reasons, in this tutorial, we’ll show you how to restrict product visibility in WooCommerce based on user roles.

Before we dive into the specifics, let’s briefly go over what we’ll cover in this tutorial. First, we’ll explain what user roles are in WordPress and how they’re used in WooCommerce. Then, we’ll show you how to create custom user roles and how to use the “Product Visibility by User Role for WooCommerce” plugin to restrict product visibility to specific user roles. We’ll also troubleshoot common issues that users might encounter and discuss additional options for restricting product visibility.

WooCommerce product visibility options: How to hide products in WooCommerce

There are several additional options for restricting product visibility in WooCommerce. One option is to use a private store plugins for WooCommerce, which allows you to create a completely private store accessible only to users with the correct login credentials. This type of plugins also includes additional features like role-based pricing, product restriction by category or tag, and more.

woocommerce restrict product by user

Another option is to use custom code to restrict product visibility. This option is best suited for advanced users who are comfortable with PHP and WordPress development. With custom code, you can create more complex product visibility rules and even restrict access to parts of your website based on user roles.

There are, of course, so many other ways that you can control specific product visibility and availability by specific users in WooCommerce, like:

  • limiting products that specific users can purchase
  • make certain WooCommerce products available only to certain customers
  • restrict access to certain products for certain users
  • hide WooCommerce products and product pages according to user roles

What is WooCommerce private product?

A WooCommerce private product is an item offered within a store specifically accessible only to certain customers or customer groups. It’s a feature allowing store owners to provide exclusive products or services, restricting their visibility or purchase options to specific customers based on factors like past purchase history, memberships, or assigned user roles. This approach enables personalized offerings, potentially boosting customer loyalty and increasing the lifetime value of customers by catering to their specific needs or preferences.

User roles in WooCommerce

User roles in WooCommerce are predefined permissions and capabilities assigned to different user groups, determining their access and actions within the WooCommerce system. These roles, such as customers, subscribers, or administrators, regulate what users can see, do, and manage within the platform. Store owners can utilize user roles to control access to specific features, products, or areas of the WooCommerce store.

In WooCommerce, user roles determine what customers can see and buy. They can also be used to customize the user experience by using restriction rules or allowing certain actions, like:

  • View the product or hide the product based on user role
  • Allowing purchasing products only by certain user role, or
  • Managing products based on the user’s assigned role.

This functionality allows for tailored access and control, enabling store owners to manage and personalize the experience for different user groups within their WooCommerce ecosystem.

By default, WooCommerce has three user roles: administrator, customer, and shop manager. Administrators have full control over the website. WooCommerce introduces specific user roles, complementing default WordPress roles for e-commerce operations. The main WooCommerce roles are:

  • Shop Manager: Oversees store operations, managing products, orders, coupons, and reports, with specialized e-commerce capabilities.
  • Customer: Differs from WordPress Subscriber role. Individuals who have made purchases, enabling order history review, profile management, and subsequent purchases, essential for personalized shopping experiences.

When someone creates an account on your online store through either the checkout or sign-up process, they are assigned the customer user role. Customers have read access, which allows them to view their past and present orders and edit their profiles.

Find WordPress users to delete by role

On the other hand, the Shop Manager role is typically assigned by Administrators to users who need to manage the WooCommerce online store but do not require full administrative capabilities. Shop Managers can manage all WooCommerce settings, create and edit products, and access all WooCommerce reports. Essentially, they have more permissions than customers but not as many as Administrators.

However, if you want to restrict product visibility further, you need to create custom user roles.

Creating custom user roles in WooCommerce

Creating custom user roles in WooCommerce is straightforward. You can use the “User Role Editor” plugin to add new user roles in WooCommerce.

user role editor plugin

  1. The first step is to install and activate the “User Role Editor” plugin.
  2. After activating the plugin, navigate to the “Users” section in your WordPress dashboard and click “User Role Editor.” This will take you to the User Role Editor screen, where you can see all the default user roles in WooCommerce.
  3. To create a new custom user role, click the “Add Role” button. You’ll be prompted to enter a new role name, such as “VIP Member” or “Wholesale Customer.” Once you’ve entered a name, click the “Add Role” button to create the new role.
  4. Once you’ve created the new role, you’ll need to configure its capabilities. Capabilities are permissions that allow users to perform certain actions on your site. To configure capabilities, click the “Capabilities” tab in the User Role Editor screen.
  5. Finally, you’ll need to assign users to the new role. To do this, navigate to the “Users” section in your WordPress dashboard, select the user you want to assign the role to and click on “Edit.” In the “Role” dropdown menu, you should now see the new role you created. Select the role and click on “Update User” to assign the new role to the user.

For example, if you want to create a VIP user role that can see exclusive products, you could create a role with the “view_woocommerce_reports” capability. This capability allows users to see reports, including exclusive product reports.

How to restrict product access by user role

If you’re looking for a way to restrict product visibility on your WooCommerce store based on user roles, the Product Visibility by User Role for WooCommerce plugin might be just what you need. This plugin allows you to show or hide products by user role, giving you greater control over who can see and purchase your products.

With the free version of the Product Visibility by User Role plugin, you have several options for how products can be hidden. You can hide products in the shop and search results, make products non-purchasable, or hide products completely. This level of flexibility allows you to tailor your product offerings to specific user roles, ensuring that your customers have the best possible experience on your site.

One of the great features of this plugin is that you can set included or excluded user roles for each product individually. This means that you can customize the visibility of each product based on your specific needs without having to apply the same restrictions to all products.


In this tutorial, we covered how to restrict product visibility in WooCommerce based on user roles. We explained user roles, how to create custom user roles, and how to use WooCommerce product visibility settings to restrict product visibility.  Using these techniques, you can create a more tailored shopping experience for your customers and offer exclusive products to VIP users. Whether running a small boutique or a large online store, WooCommerce’s flexible user role system allows you to customize product visibility to meet your specific needs.

Unlock the Full Potential of Your WooCommerce Customer Data