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

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


User roles in WooCommerce

Before we dive into restricting product visibility and access access let’s first look into WooCommerce user roles.

User roles are a fundamental concept in WordPress. They determine what users can and cannot do on your website. In WooCommerce, user roles are used to determine what customers can see and buy.

By default, WooCommerce has three user roles: administrator, customer, and shop manager. Administrators have full control over the website.

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 on “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 on 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 on 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 on 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.

Filter Ultimate Member users by role


Restricting 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 choose to 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 what user roles are, how to create custom user roles, and how to use WooCommerce product visibility settings to restrict product visibility.¬† By using these techniques, you can create a more tailored shopping experience for your customers and offer exclusive products to VIP users. Whether you’re 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