How to build a private WooCommerce members only shop

Private WooCommerce Members Only Shop WordPress Plugin

'WooCommerce is perfect for building any type of e-commerce website. That's why it's no. 1! One of its less obvious uses is to create a private, members only WooCommerce store, which restricts access so only pre-approved customers can enter. Read more on how to add a WordPress membership plugin with WoCommerce to create your membership website today.

This is the complete guide to building a WooCommerce members only shop. We'll look at 2 plugins: WooCommerce Private Store and WooCommerce Protected Categories.

I'll help you to choose the right WooCommerce members only plugin for your specific needs, and provide full instructions on how to set it up for your members.

Do I need a members only WooCommerce shop?

There are lots of reasons why you might want a private shopping club where members can buy exclusive products that aren't available to the public. Here are some examples:

  • WooCommerce wholesale pluginMembers buying club - Some stores offer membership plans in return for discounted access to their products. For example, you could use a WooCommerce extension/plugin such as YITH WooCommerce Subscriptions to sell membership on your public store with recurring payments. You can then use this tutorial to create a WooCommerce members only area containing the products.
  • WooCommerce wholesale store - A trade-only e-commerce store might have created a wholesale store to sell products to approved members at trade product prices. (Note: if you're building a B2B store then you might prefer our dedicated WooCommerce Wholesale Pro plugin, instead of one of the more generic plugins in this tutorial.)
  • Branded products for members only WooCommerce stores - A trade association or membership group might sell branded merchandise that is exclusively available to its members. This might include clothing with the logo of the membership organization.

Whatever your reason for needing a members only WooCommerce plugin, read on to find the right solution for you.

What sort of membership store do I need?

First, let's look at the different types of WooCommerce members-only extension plugins. There are a few methods for structuring a private area and membership store, depending on which customers need access to which products:

  1. 100% private WooCommerce store with 1 membership level With this option, your overall website will be public (e.g. the homepage, core pages, and any custom post types), but the WooCommerce shop will be hidden from public view. Members must log into the private shopping club to view the products and buy them. Once logged in, all members will have access to the same products. Setup instructions...
  2. 100% private WooCommerce store with multiple WordPress membership plugin with WooCommerce tiers Again, your main web pages can be public but the whole of your WooCommerce store will be private and hidden. Different members will have access to different products. Setup instructions...
  3. Members only WooCommerce store with public and WooCommerce members areas With this option, you can have a public WooCommerce store that anyone can access and buy from. In addition, you can have 1 or more private WooCommerce members-only areas. All within the same WooCommerce shop! Setup instructions...

Method 1 - 100% private WooCommerce store with 1 membership level

This method uses the WooCommerce Private Store plugin. Use it to make all parts of WooCommerce private shopping club. Once a member logs into the hidden store, they can view and buy all your products.

Setup instructions for your private members only WooCommerce store

Before you start, I expect you to have a WordPress website with WooCommerce already installed and set up. Create all your products.

At this point, you will have a regular ecommerce store that is available to the public. Use the following instructions to transform it into a hidden WooCommerce members only store:

  1. First, get WooCommerce Private Store. Download the plugin files from the confirmation page or email, and copy your license key.
  2. In the WordPress admin, find Plugins → Add New and upload the plugin files. Activate the plugin.
  3. Activate WooCommerce Private Store licenseGo to the plugin settings page at WooCommerce → Settings > Private Store. Add your license key, choose 1 or more passwords for your store, make any changes to the login page text, and Save.
  4. Now create a page that clients will use to log into the WordPress portal. Use the shortcode [store_login] to automatically add a login form to the page.
  5. Finally, link to the login page from your navigation menu, header, footer, or keep it hidden and just send the link to your members. (This depends on how you want people to access your private store.)

And that's it! That's all you need to do to lock down WooCommerce and turn it into a members only store.

Public visitors can visit your membership site, view your main pages, and access the login page. Your WooCommerce products, categories, etc. will be completely hidden from public view and won't show up in search results or anywhere else. On entering a correct password, members can unlock the WooCommerce members only store and view and buy the products within.

Using individual user logins to unlock the members store

By default, WooCommerce Private Store uses password protection to protect your WooCommerce members only shop. There's also a 'Logged In Users' box on the settings page. Enabling this option will replace the password protection with automatic access to the members' shop when customers log in to their WordPress user account on your website. However, if you want to limit access only to certain user roles, you can customize the settings accordingly.

If you use this option, then you don't need to use the store login page that comes with the plugin. Instead, members can access the entire store simply by logging into their account via the default WordPress login page. (Tip: You can also use any other WordPress login or social login plugin, such as Theme My Login.)

Method 2 - 100% private WooCommerce store with multiple tiers of membership

This method uses the WooCommerce Protected Categories plugin to restrict access to your shop. The shop part of your website is completely hidden from the public. Your  WooCommerce members-only shop is divided into multiple sections. Each member can have access to 1 or more areas within the shop.

This is a great opportunity to sell different private products to different members. For example, if you have different groups or tiers of membership, then you can create a separate area of your store for each category.

Before you start, you should already have a WordPress site with WooCommerce and various products. At this point, your store will be fully public.

Use the following instructions to turn it into a multi-level WooCommerce members only store, with different product pages available to different groups of members.

(You can also use these instructions to sell user-specific products, such as branded clothing for a sports team or school. In this case, you will have a different category of products for each member.)

Setup instructions for a multi-level WooCommerce members store

  1. First, buy WooCommerce Protected Categories. Copy your license key and download the plugin from the confirmation email or confirmation page.
  2. In WordPress, go to Plugins → Add New and upload and activate the plugin.
  3. Navigate to WooCommerce → Settings → Products → Protected Categories. Enter your license key, make any other changes (e.g. to the members' area login form), and click Save. DO NOT tick the boxes to show protected categories in public parts of the store.
  4. WooCommerce school category visibilityNow, go to Products → Categories. Create a category for each membership level or group. For each category, select one of the 'Protected' options:
    • Password protected - Members must enter a password to access each members-only product category. This WooCommerce password protection is separate from WordPress user logins. It's a good option if you don't require separate accounts for each member.
    • User roles - Automatically unlock the members-only category for logged in users with a specific role. (Tip: The free User Role Editor plugin works great for creating additional WordPress membership plugin with WooCommerce levels, which you can then protect using WooCommerce Protected Categories.)
    • Users - Alternatively, select the individual member accounts that should have access to the members-only WooCommerce category. This option is probably best for smaller WordPress membership sites. I'd recommend the password protection or user roles options for WooCommerce stores with lots of members.
  5. Next, add any sub-categories to your members' area categories. Leave these set to 'Public', as they will automatically inherit the same protection as the parent category.

Now add your protects and allow members to login

  1. Next, go to the main Products page in WooCommerce. Put each product in one of your members-only categories. (I recommend using Quick Edit to categorize products more easily - hover over each product and click 'Quick Edit'.)
  2. Finally, create a page that members will use to log into their area of the members only store. Add a 'Member Login' link to your navigation menu. This depends on what type of protection you're using for your membership plugin categories:
    1. If you're using password protection, then use the shortcode [category_login] to add a login form to any page. You can link to this from the public parts of your website as needed. When someone logs into a members-only category, the plugin will instantly redirect them to the category matching the password entered.
    2. If you're using user roles or user restrictions, then you should link to a user login page such as the main WooCommerce Account page. To make your WooCommerce members store more user-friendly, you can use a free plugin named Peter's Login Redirect to automatically redirect each user or role to the correct category page after logging in.

How the multi-level members store works

Once you have completed the above instructions, you will have a complete WooCommerce members only shop with multiple levels.

Customers can view the public parts of your website as usual. They can go to the members' store login page and either enter a password or log into their WP user account.

Members can only see the products that they have access to. The restricted products are hidden from everyone else.

You will need to set up a process for giving the password to your members or allowing new members to register for the store.

Giving the password to your members

For password protected membership areas, you might want to include the password for the appropriate product category in your members' welcome pack or 'new member' email. The WooCommerce members only plugin supports multiple passwords, or you can use the same one for each user.

Creating a user account for new members

The WooCommerce 'Account' page turns into a login and registration form for logged out users and guests. If you have enabled user registration, then you can let new members use WooCommerece shop only for registered users here. Once they have logged into their new WP user account, they can access the members-only store.

Alternatively, you can use any WordPress front-end registration/login plugin to create a fancy registration form. The Theme My Login plugin has a useful feature to hold new member registrations for approval by an administrator before they can access the members-only store.

If you'd rather sell membership via your website, then you can do this by creating a public product that everyone can buy. To find out how skip ahead now.

Can I sell the same product to more than 1 membership level?

Each product can only be in 1 protected members only category. If you want to sell the same products to 1 or more groups of members, then you should clone these products and put one version in each WooCommerce protected category. The Duplicate Post plugin makes it easy to clone WooCommerce products. (If you want to manage inventory across each product version, then we recommend the Group Stock Manager plugin. This lets you share stock levels across multiple products.)

Method 3 - WooCommerce store with public and WooCommerce members areas

This method also uses the WooCommerce Protected Categories plugin. It builds on method 2 by adding a public shop as well as one or more WooCommerce members only areas. Some products are available to everyone, while you can also have private members only products.

Setup instructions for a public and members only WooCommerce shop

The instructions for this use case are identical to method 2. The only difference is that as well as creating protected members-only categories, you should create some public product categories.

The next step is to create a user-friendly navigation structure for your public and WooCommerce members only store. We'll look at this now.

Store navigation

Think carefully about how to structure your WooCommerce store. It needs to be intuitive for both members and non-members:

  1. Public store navigation - This bit's easy. Simply add links to your public store in the usual way. For example, you might add menu links to the main WooCommerce shop page and maybe your public store categories. You can also use the widgets that come with WooCommerce to help people navigate the public store.
  2. Membership plugin: Members only shop navigation - The public shop will remain visible to logged in members, so you need to create navigation links that make it clear when they're in the members only WooCommerce shop. Some tips:
    • Create a page which members will use to log into the members only store. If you're using password protected categories, then use the shortcode [category_login] to add a login form to the page. If you're using role or user protection, use a front-end user login page such as the WooCommerce Account page. You can link to your members store login page from the public areas, such as a 'Members Store' link in the navigation menu. Or if you want to keep it hidden, don't link to it at all and just send the link to your members. Once someone enters a correct password, they will be redirected to the members only store category for that password.
    • If you add direct links to your WooCommerce members only categories to the navigation menu, then these will be hidden from public view. Once a member unlocks their hidden products via the category login page, these menu links will magically appear in the menu for them! This is a neat way of adding more complex structures within your members only WooCommerce store. Each member will only see the products that they have access to.

Can the same product appear in the public and members only areas?

If you've ticked the box on the settings page, then your members only WooCommerce products can appear in the public store. When people click on them, they will have to enter the password in order to purchase.

However, each single product page can only be in a public OR a password protected category. If you want to sell the same products to the public and use the WooCommerce shop only for registered users feature, then you will need to clone the individual products. The Duplicate Post plugin is a great add-on that makes it easy to clone WooCommerce products. Then, you can put 1 version of each product in the different parts of your store.

How can I sell access to my WooCommerce members only store?

Finally, I'll reveal how you can sell access to your members only WooCommerce store with this membership solution. Skip this section if you don't want to charge for membership.

  1. First, create a public category under Products → Categories.
  2. Now add a product to this category - Products → Add New. Call this 'Buy Membership' or whatever you like. Add a price and other information about joining your WooCommerce membership purchasing club.
  3. Your membership product should be a normal simple or variable product if people have to make a one-off payment to join. Alternatively, if you want to take regular ongoing payments from members, then use the YITH WooCommerce Subscriptions plugin to create a subscription product. This can include free trials and different payment frequencies.
  4. Create more than one membership product if you want to sell different paid membership tiers on this membership plugin.
  5. Link to the membership products from prominent places on your public website, such as the navigation menu.
  6. Lastly, consider how to give new members access to your WooCommerce members only store. This depends on the type of protection you're using:
    • Password protection - Use the Follow-Up Emails plugin as an add-on to automatically send an email containing the members' area login link and password to everyone who buys the membership plugin. This plugin provides fine-grained control, and you can create different emails for each membership product.
    • Role protection - The easiest way to do this is to automatically unlock the hidden membership plugin for all logged in Customers. Disable guest registration in the WooCommerce settings (WooCommerce → Settings). When someone buys a product, including membership, they will receive the logins for a customer-level account. They can log into this account to unlock the WooCommerce members only store.
    • Individual logged in user protection - Finally, is your members only store is restricted to individual logged in users? If so, then you will need to manually give each user access when they purchase a membership. Just head to the 'Edit' screen for the members only category, and select them under the 'Protection' options.

Use WooCommerce to create a members only store

Using the above methods and funtionality, you can use WooCommerce to create content restrictions and sell exclusive products to pre-approved customers. Whether you have a WooCommerce shop only for registered users or a separate public online store, there is always a best WooCommerce members only plugin that will suit your needs.


  1. Hi,
    I sell specialised skincare where the client is required to have a telephone or zoom consult before selecting products. So, I want to allow ALL visitors to my website and shop to be able to see the products and the add to cart etc, but before they can add to cart they will need a code to do so. Are any of these plugins suitable for that purpose?

    • Hi, Julie.

      Sorry for my late reply. For what you would like to achieve, I suggest that you create a front-end user registration page using the free Theme My Login plugin and then use its paid ‘Moderation’ extension to hold new user registrations for moderation by yourself or an administrator. For details about how to implement this, please see our article about Can users register their own accounts for the private store?

      This way, you can allow users to register their accounts for your site and for you to first be notified about each application so that you can contact them to schedule the telephone or Zoom consultation that you want to have, prior to approving their accounts on your site. Once the consultation is done, you will then approve their account's registration application so they can log in without the need for any special codes.

      I hope this makes sense. Let me know if you have any other questions. You can get in touch with us quicker via our dedicated Support Center. Thanks.

  2. Hi
    Is there a way to set different shipping options for the private store ie free shipping/ click collect but leave the public store as normal shipping values as different parts of my store represents goods from two different locations

    • Hi, Chris. WooCommerce Private Store will password protect all areas of WooCommerce on your site. To allow you to offer both public and private products in the same store, I suggest you instead use our other plugin, WooCommerce Protected Categories. You can then set different shipping rates for your private product categories whilst applying normal shipping values to your products in your public categories.

      Should you have any other questions, let me know via our Support Center, so we can get back to you sooner. Thanks!

  3. Need to create a whole store that has case SKU's and whole sale pricing that is not visible to the public.
    Please advise.

  4. Thanks for the information. It is very helpful. However I m trying to create a members exclusive store where people first have to take subscription paid with 30 day trial, after completing subscription, they can buy anything from store. For unregistered users, they can browse the store but can't buy. Will have just 1 membership plan.

    • Hi Komal, thanks for your reply. Sorry, I didn't realise that you wanted unregistered users to be able to see the products but not buy.

      You can do this by ticking the 'Category Visibility' boxes on the WooCommerce Protected Categories plugin settings page. This tells the plugin to show your protected products in the public parts of your store. When someone tries to access the single product page, they will have to login before they can load this page, see the add to cart buttons, or purchase. You can modify the login page to add a notice above, telling them how to subscribe so that they can make purchases from the store.

      Next, you need to create a public product category and add a subscription product to it. You'll need the WooCommerce Subscriptions plugin for the subscription. Since this product will be in a public category, unregistered users will be able to purchase it.

      You need to disable guest checkout in the WooCommerce settings. That way, an account will be created for each person who purchases the membership product. When they login, they will be able to access the full store and purchase your other products. Set up your protected categories so that only logged in 'Customers' and 'Administrators' can access them.

      I also recommend unticking 'Anyone can register' under Settings > General. This will prevent people from registering unless they actually purchase a product.

Please share your thoughts...

Your email address will not be published. Required fields are marked *