{"id":26687,"date":"2024-01-16T09:40:38","date_gmt":"2024-01-16T09:40:38","guid":{"rendered":"https:\/\/ithemelandco.com\/?p=26687"},"modified":"2026-05-16T20:08:51","modified_gmt":"2026-05-16T20:08:51","slug":"woocommerce-shop-only-for-registered-users","status":"publish","type":"post","link":"https:\/\/ithemelandco.com\/blog\/woocommerce-shop-only-for-registered-users\/","title":{"rendered":"How to Create a WooCommerce Members Only Store for Registered Users"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Many WooCommerce store owners need to restrict access to certain products or parts of their store. In some cases, products should only be visible to registered users, members, or specific customer roles. Creating a WooCommerce members only store helps businesses control who can see and purchase certain products.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A members-only WooCommerce shop is useful for many types of online businesses. For example, wholesalers may want to show prices only to registered customers, membership websites may offer exclusive products to members, and B2B stores may restrict product access to approved clients.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce does not provide a complete built-in solution for creating a registered users only store. However, there are different ways to restrict access to your shop, products, or categories. You can implement a simple programmatic solution or use a plugin that allows you to create a more flexible WooCommerce private store.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this guide, we will explain two practical methods to create a WooCommerce shop only for registered users. First, we will show how to restrict access programmatically, and then we will introduce a more flexible solution using TABLEiT plugin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why do you need to create a WooCommerce members-only shop?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Creating a private WooCommerce store is useful for online shops that want to show a series of products or tags to specific users or only to registered users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Many reputable stores need to hide products from visitors and make them available to their special users. So, visitors must buy a subscription to access some special content.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is also important for some store managers to show some products or categories to specific user roles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you also want to limit customers&#8217; access to your WooCommerce products, continue reading to learn two practical methods for creating a WooCommerce shop only for registered users.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" id=\"php-method\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a private store WooCommerce programmatically<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The idea of writing this PHP snippet for creating a WooCommerce shop only for registered users is very simple. By running this code, when non-logged-in users visit your website, they will be redirected to the login page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before using this code, remember to know about code writing and working with <strong>function.php<\/strong> in WordPress. Otherwise, we recommend you ask an expert to do this.&nbsp;Although you can run this PHP snippet on the <strong>function.php<\/strong> file of your theme, it makes sense if you create a child theme and then use this code to create a WooCommerce private shop. It is also important to back up your site before running the code.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function my_redirect_non_logged_in_users() {<br>&nbsp;&nbsp;if ( !is_user_logged_in() &amp;&amp; ( is_WooCommerce () || is_cart() || is_checkout() ) ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;wp_redirect( get_permalink( get_option('WooCommerce _myaccount_page_id') ) );<br>&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>&nbsp;&nbsp;}<br>}<br>add_action( 'template_redirect', 'my_redirect_non_logged_in_users' );<br>function my_redirect_non_logged_in_users() {<br>&nbsp;&nbsp;if ( !is_user_logged_in() &amp;&amp; ( is_WooCommerce () || is_cart() || is_checkout() ) ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;wp_redirect( get_permalink( get_option('WooCommerce _myaccount_page_id') ) );<br>&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>&nbsp;&nbsp;}<br>}<br>add_action( 'template_redirect', 'my_redirect_non_logged_in_users' );<br><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">The function guides<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To make WooCommerce members-only shop with this function, we hooked it to the <strong>template_redirect <\/strong>action. So, it is fired just before WordPress begins rendering the template file. Therefore, visitors who are not logged in will be redirected to the login page before observing any content on WooCommerce pages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We also used the below function in the code:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>&nbsp;is_user_logged_in()<\/strong>: To check whether the users are registered. If not, the below functions work:\n<ul class=\"wp-block-list\">\n<li><strong>is_WooCommerce ()<\/strong>:&nbsp;To check if the users are on a WooCommerce store page.<\/li>\n\n\n\n<li><strong>is_cart():<\/strong> Check whether users are on a WooCommerce cart page.<\/li>\n\n\n\n<li><strong>is_checkout():<\/strong>&nbsp;To check if the users are on a WooCommerce checkout page.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>wp_redirect()<\/strong>: To redirect the visitors &#8211; not logged in &#8211; to the WooCommerce \u201cMy Account\u201d page.<\/li>\n\n\n\n<li><strong>exit()<\/strong>: To terminate the current script and avoid further execution.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">As you probably noticed, creating a private store WooCommerce programmatically has many limitations. For example, you cannot create a WooCommerce private category, and you can only hide your entire store to not logged users. To solve these problems, you need to use a powerful WooCommerce private store plugin free to create a WooCommerce shop only for registered users. Using the WooCommerce product table plugin, we will introduce below, you can easily restrict access to certain products or categories in your store.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" id=\"plugin-method\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Create a private WooCommerce shop by WooCommerce product table plugin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/ithemelandco.com\/plugins\/woocommerce-product-table-pro\/?utm_source=blog&amp;utm_content=private-store\" target=\"_blank\" rel=\"noreferrer noopener\"><span style=\"text-decoration: underline\">WooCommerce product table plugin<\/span><\/a> is a very useful plugin for creating a private store in WooCommerce. You can add product fields, such as stock qty, price, etc., in a list with multiple columns and display it to users anywhere on the website using a shortcode. By adding filter, search, and other features, users can easily view and compare all products in the table and add the product to their shopping cart by clicking the add to cart button.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the useful features of this powerful plugin is the ability to set columns, rows, products, or specific categories to be displayed to registered users.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center main-cta-cnt has-background is-layout-flex wp-container-core-columns-is-layout-8a83d729 wp-block-columns-is-layout-flex\" style=\"background-color:#3d67ff;padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-5980c20d wp-block-group-is-layout-constrained\" style=\"padding-top:15px\">\n<p class=\"single-cta-heading has-white-color has-text-color has-link-color wp-elements-b497876dbe00d7a51b8cb487822eff09 wp-block-paragraph\" style=\"font-size:26px;font-style:normal;font-weight:800\">TABLEiT &#8211; Product Table for WooCommerce<\/p>\n\n\n\n<p class=\"single-cta-desc has-white-color has-text-color has-link-color wp-elements-15e2d86a79677096836d6cc1594951fe wp-block-paragraph\" style=\"font-size:16px\">The easy way to create a WooCommerce shop only for registered users<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button main-cta-button\"><a class=\"wp-block-button__link has-text-color has-background wp-element-button\" href=\"https:\/\/ithemelandco.com\/plugins\/woocommerce-product-table-pro\/?utm_source=blog&amp;utm_content=private-store\" style=\"border-style:none;border-width:0px;border-radius:40px;color:#ffffff;background-color:#0fba5e;padding-top:10px;padding-right:30px;padding-bottom:10px;padding-left:30px;font-style:normal;font-weight:500\" target=\"_blank\" rel=\"noreferrer noopener\">Buy Plugin<\/a><\/div>\n\n\n\n<div class=\"wp-block-button is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link has-white-background-color has-text-color has-background wp-element-button\" href=\"https:\/\/wordpress.org\/plugins\/advanced-product-table-for-woocommerce\/\" style=\"border-style:none;border-width:0px;border-radius:40px;color:#3d67ff;padding-top:10px;padding-right:30px;padding-bottom:10px;padding-left:30px;font-style:normal;font-weight:500\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Free Version<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"532\" height=\"355\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2025\/10\/tableit-banner.png\" alt=\"TABLEiT - Product Table for WooCommerce plugin by ithemeland\" class=\"wp-image-48727\" style=\"width:440px;height:auto\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2025\/10\/tableit-banner.png 532w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2025\/10\/tableit-banner-500x335.png 500w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Follow the simple steps below to create a WooCommerce shop only for registered users:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Install the WooCommerce product table plugin<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To install the plugin, just download and install and activate the plugin on your WordPress site. After activation, you will see that an item called <strong>Add new table<\/strong> has been added in the <strong>iT product table<\/strong> tab, by clicking on it and then the <strong>Get Start<\/strong> button, you will be led to the main page of the WooCommerce product table plugin.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-add-new-table-section.png\"><img decoding=\"async\" width=\"1878\" height=\"884\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-add-new-table-section.png\" alt=\"select add new table section in iT product table menu\" class=\"wp-image-26689\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-add-new-table-section.png 1878w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-add-new-table-section-500x235.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-add-new-table-section-1536x723.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-add-new-table-section-1000x471.png 1000w\" sizes=\"(max-width: 1878px) 100vw, 1878px\" \/><\/a><figcaption class=\"wp-element-caption\">Add new table<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create a product table for WooCommerce private shop<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On the main page, we provided all the essential tools for creating a product table with customer-friendly options. To customize the content and appearance of the table, set the items and configurations in the following tabs:<strong>Query<\/strong>: This is a good option if you want to create a table for some specific products or categories. You can <strong>include\/exclude<\/strong> one or more products\/categories to create a WooCommerce members-only shop by editing the items in this tab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Columns<\/strong>: The <strong>Columns<\/strong> tab is the most important part of this plugin, allowing you to add as many columns and rows as you need to the product table and assign different content to the table cells.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-columns-tab.jpg\"><img decoding=\"async\" width=\"1299\" height=\"640\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-columns-tab.jpg\" alt=\"select columns tab in iT product table plugin\" class=\"wp-image-37133\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-columns-tab.jpg 1299w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-columns-tab-500x246.jpg 500w\" sizes=\"(max-width: 1299px) 100vw, 1299px\" \/><\/a><figcaption class=\"wp-element-caption\">Add columns to table<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Navigations<\/strong>: In the <strong>Navigation<\/strong> tab, you can add extra features like filtering, sorting, multi add to cart option, mini cart, etc. To the product table and make it more attractive for your customers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-navigation-tab.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1897\" height=\"809\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-navigation-tab.png\" alt=\"select navigation tab in iT product table plugin\" class=\"wp-image-26691\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-navigation-tab.png 1897w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-navigation-tab-500x213.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-navigation-tab-1536x655.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-navigation-tab-1000x426.png 1000w\" sizes=\"(max-width: 1897px) 100vw, 1897px\" \/><\/a><figcaption class=\"wp-element-caption\">TABLEiT navigation tab<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Style<\/strong>: You can find all configurations essential for customizing the appearance of your product table, here. Some preset templates make this task easier for you.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-style-tab.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1890\" height=\"877\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-style-tab.png\" alt=\"select style tab in in iT product table plugin\" class=\"wp-image-26692\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-style-tab.png 1890w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-style-tab-500x232.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-style-tab-1536x713.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-style-tab-1000x464.png 1000w\" sizes=\"(max-width: 1890px) 100vw, 1890px\" \/><\/a><figcaption class=\"wp-element-caption\">Style tab<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now, let\u2019s suppose that you have created a product table for selling food and wines like below and you want to create a private WooCommerce store.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-food-and-wines-table.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1386\" height=\"489\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-food-and-wines-table.png\" alt=\"result food and wines table in private WooCommerce store\" class=\"wp-image-26693\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-food-and-wines-table.png 1386w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-food-and-wines-table-500x176.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-food-and-wines-table-1000x353.png 1000w\" sizes=\"(max-width: 1386px) 100vw, 1386px\" \/><\/a><figcaption class=\"wp-element-caption\">Simple product table<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note: <\/strong>To make this product table available on your website, you can add its shortcode to a new page of WordPress and publish it on your website.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create a WooCommerce shop only for registered users<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You have flexible options to create a WooCommerce members-only shop in the WooCommerce private store plugin. Let\u2019s review them one by one.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Create a WooCommerce members-only shop<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to hide the WooCommerce shop page for not logged-in users, you can go to the plugin <strong>Settings<\/strong> tab, locate <strong>Show for user roles<\/strong> field then choose <strong>Customer<\/strong> &#8211; or any other user role that you have created in WordPress <strong>Users<\/strong> tab for registered users.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-field.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1590\" height=\"443\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-field.png\" alt=\"select show for user roles field in settings tab\" class=\"wp-image-26694\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-field.png 1590w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-field-500x139.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-field-1536x428.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-field-1000x279.png 1000w\" sizes=\"(max-width: 1590px) 100vw, 1590px\" \/><\/a><figcaption class=\"wp-element-caption\">Specific table for your users<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">By choosing this option, when not logged-in users visit your shop page, they will see an empty page like below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-show-for-user-roles-field.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1288\" height=\"699\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-show-for-user-roles-field.png\" alt=\"result user roles field in shop page\" class=\"wp-image-26695\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-show-for-user-roles-field.png 1288w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-show-for-user-roles-field-500x271.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-show-for-user-roles-field-1000x543.png 1000w\" sizes=\"(max-width: 1288px) 100vw, 1288px\" \/><\/a><figcaption class=\"wp-element-caption\">Result for not logged-in users<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">However, if they register to your website, the created product table will be displayed to them:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-product-table-for-customers.png\"><img loading=\"lazy\" decoding=\"async\" width=\"540\" height=\"389\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-product-table-for-customers.png\" alt=\"result product table for customers in private WooCommerce store\" class=\"wp-image-26696\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-product-table-for-customers.png 540w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-product-table-for-customers-500x360.png 500w\" sizes=\"(max-width: 540px) 100vw, 540px\" \/><\/a><figcaption class=\"wp-element-caption\">Result of table for logged-in users<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Hide some rows in the table to create a WooCommerce private shop<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes, you don\u2019t want to hide the whole product table for unregistered users. You just need to hide some rows in the table cells.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, suppose you have created one column and added <strong>Price<\/strong> and <strong>Quantity<\/strong> to one row. Now, you want to hide this row and not let unregistered users set quantity or review the product prices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To make this happen, follow the below steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click on the <strong>Setting<\/strong> button (1) of the <strong>Row<\/strong> in the <strong>Cell Content<\/strong> part of the column as illustrated below:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-rows-for-private-shop.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1870\" height=\"756\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-rows-for-private-shop.png\" alt=\"set hide rows for private shop in columns tab\" class=\"wp-image-26697\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-rows-for-private-shop.png 1870w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-rows-for-private-shop-500x202.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-rows-for-private-shop-1536x621.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-rows-for-private-shop-1000x404.png 1000w\" sizes=\"(max-width: 1870px) 100vw, 1870px\" \/><\/a><figcaption class=\"wp-element-caption\">Hide some rows<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to the <strong>General<\/strong> tab in the left panel and open the <strong>Condition for row<\/strong> tab.<\/li>\n\n\n\n<li>Mark <strong>Add user role condition<\/strong> (2).<\/li>\n\n\n\n<li>Choose <strong>Customer<\/strong> from the list of users.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> All users you have created in WordPress will be displayed here automatically. So, mark as many user roles as you need to create your WooCommerce private store.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-user-role.png\"><img loading=\"lazy\" decoding=\"async\" width=\"282\" height=\"746\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-user-role.png\" alt=\"select user role in general tab\" class=\"wp-image-26700\"\/><\/a><figcaption class=\"wp-element-caption\">Add condition on rows<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The final result is like below for unregistered users:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-rows.png\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"363\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-rows.png\" alt=\"result hide table rows for private shop\" class=\"wp-image-26702\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-rows.png 606w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-rows-500x300.png 500w\" sizes=\"(max-width: 606px) 100vw, 606px\" \/><\/a><figcaption class=\"wp-element-caption\">Result of your rules<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Hide some fields to create a WooCommerce shop only for registered users<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In this WooCommerce private store plugin, you have the option for hiding some fields and making them private for registered users. For example, consider that you want to hide the <strong>Price<\/strong> field in your WooCommerce private store and just let customers see this field.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do this, follow the below steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add the <strong>Price<\/strong> element to one of the columns in the product table.<\/li>\n\n\n\n<li>Click on the <strong>Price<\/strong> element to see the element setting panel.&nbsp;<\/li>\n\n\n\n<li>Scroll down the <strong>General<\/strong> tab in the Left panel to see the <strong>Condition for Element<\/strong> tab.<\/li>\n\n\n\n<li>Open this tab and mark <strong>Add user role condition<\/strong> item.<\/li>\n\n\n\n<li>Mark <strong>Customer<\/strong> from the list of users.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-fields-for-registered-users.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1874\" height=\"656\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-fields-for-registered-users.png\" alt=\"set hide fields for registered users in cell content\" class=\"wp-image-26703\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-fields-for-registered-users.png 1874w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-fields-for-registered-users-500x175.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-fields-for-registered-users-1536x538.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-hide-fields-for-registered-users-1000x350.png 1000w\" sizes=\"(max-width: 1874px) 100vw, 1874px\" \/><\/a><figcaption class=\"wp-element-caption\">Make customers only see the price element<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s it. You have successfully created your WooCommerce shop only for registered users. So, when not logged-in users visit the shop page, they won\u2019t see the <strong>price<\/strong> of your products as illustrated below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-fields.png\"><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"515\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-fields.png\" alt=\"result hide table fields for registered users\" class=\"wp-image-26704\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-fields.png 586w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/result-hide-table-fields-500x439.png 500w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/a><figcaption class=\"wp-element-caption\">Result of non customer users<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Create a WooCommerce private category<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Creating a WooCommerce private category is one of the most popular requirements of store managers. For example, consider that you are selling products in the <strong>food<\/strong> and <strong>wine<\/strong> categories in your shop, and you want to show the products in the Wine category only to registered users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To make this happen, you need to create two separate tables and make queries for <strong>food<\/strong> and <strong>wines<\/strong>. Then, set some configuration for the <strong>Wines<\/strong> table to make it a WooCommerce private category.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s see how.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to the <strong>Query<\/strong> tab and choose <strong>wine<\/strong> in the <strong>Include Taxonomy<\/strong> field.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-include-taxonomy-field.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1590\" height=\"409\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-include-taxonomy-field.png\" alt=\"select include taxonomy field in query tab\" class=\"wp-image-26705\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-include-taxonomy-field.png 1590w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-include-taxonomy-field-500x129.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-include-taxonomy-field-1536x395.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-include-taxonomy-field-1000x257.png 1000w\" sizes=\"(max-width: 1590px) 100vw, 1590px\" \/><\/a><figcaption class=\"wp-element-caption\">Include wine in your query table<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customize your table content and design in the <strong>Columns<\/strong>, <strong>Navigation,<\/strong> and <strong>Style<\/strong> tab.<\/li>\n\n\n\n<li>Open the <strong>Settings<\/strong> tab and scroll down to find <strong>Show for user roles<\/strong>.<\/li>\n\n\n\n<li>Choose <strong>Customer<\/strong> from the list of users.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1583\" height=\"494\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-.png\" alt=\"select show for user roles in settings tab\" class=\"wp-image-26711\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles-.png 1583w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles--500x156.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles--1536x479.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/select-show-for-user-roles--1000x312.png 1000w\" sizes=\"(max-width: 1583px) 100vw, 1583px\" \/><\/a><figcaption class=\"wp-element-caption\">Only show table to customers<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Insert a name for your table and save it.<\/li>\n\n\n\n<li>Return to the <strong>WordPress Dashboard<\/strong> and go to the below address:<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>iT Product Table &gt; Settings (1)<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-category-override.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1860\" height=\"829\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-category-override.png\" alt=\"set category override in settings menu\" class=\"wp-image-26707\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-category-override.png 1860w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-category-override-500x223.png 500w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-category-override-1536x685.png 1536w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/set-category-override-1000x446.png 1000w\" sizes=\"(max-width: 1860px) 100vw, 1860px\" \/><\/a><figcaption class=\"wp-element-caption\">Override WooCommerce catalog<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the <strong>General<\/strong> tab of <strong>Settings<\/strong>, Open <strong>Category Override<\/strong> tab (2).<\/li>\n\n\n\n<li>Choose the category you want to show to the registered users only (3).<\/li>\n\n\n\n<li>Open the dropdown list of the <strong>Override<\/strong> table and choose the name of your table from the list (4).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Your task is done. Now, the <strong>Wine category<\/strong> is only available for shop members, only.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center main-cta-cnt has-background is-layout-flex wp-container-core-columns-is-layout-8a83d729 wp-block-columns-is-layout-flex\" style=\"background-color:#3d67ff;padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-5980c20d wp-block-group-is-layout-constrained\" style=\"padding-top:15px\">\n<p class=\"single-cta-heading has-white-color has-text-color has-link-color wp-elements-b497876dbe00d7a51b8cb487822eff09 wp-block-paragraph\" style=\"font-size:26px;font-style:normal;font-weight:800\">TABLEiT &#8211; Product Table for WooCommerce<\/p>\n\n\n\n<p class=\"single-cta-desc has-white-color has-text-color has-link-color wp-elements-15e2d86a79677096836d6cc1594951fe wp-block-paragraph\" style=\"font-size:16px\">The easy way to create a WooCommerce shop only for registered users<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button main-cta-button\"><a class=\"wp-block-button__link has-text-color has-background wp-element-button\" href=\"https:\/\/ithemelandco.com\/plugins\/woocommerce-product-table-pro\/?utm_source=blog&amp;utm_content=private-store\" style=\"border-style:none;border-width:0px;border-radius:40px;color:#ffffff;background-color:#0fba5e;padding-top:10px;padding-right:30px;padding-bottom:10px;padding-left:30px;font-style:normal;font-weight:500\" target=\"_blank\" rel=\"noreferrer noopener\">Buy Plugin<\/a><\/div>\n\n\n\n<div class=\"wp-block-button is-style-outline is-style-outline--2\"><a class=\"wp-block-button__link has-white-background-color has-text-color has-background wp-element-button\" href=\"https:\/\/wordpress.org\/plugins\/advanced-product-table-for-woocommerce\/\" style=\"border-style:none;border-width:0px;border-radius:40px;color:#3d67ff;padding-top:10px;padding-right:30px;padding-bottom:10px;padding-left:30px;font-style:normal;font-weight:500\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Free Version<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"532\" height=\"355\" src=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2025\/10\/tableit-banner.png\" alt=\"TABLEiT - Product Table for WooCommerce plugin by ithemeland\" class=\"wp-image-48727\" style=\"width:440px;height:auto\" srcset=\"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2025\/10\/tableit-banner.png 532w, https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2025\/10\/tableit-banner-500x335.png 500w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Creating a WooCommerce members only store is an effective way to control who can access your products and shop content. Many online stores use this approach to offer exclusive products, wholesale pricing, or restricted product catalogs to registered customers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Although it is possible to restrict WooCommerce shop access using custom code, this method usually has several limitations. For example, it can be difficult to create user-specific products, private categories, or flexible access rules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using a dedicated WooCommerce plugin like TABLEiT provides a more practical and flexible solution. With the TABLEiT plugin, store managers can easily control which products, categories, or product fields are visible only to registered users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By implementing a WooCommerce registered users only shop, you can create exclusive shopping experiences, manage private product catalogs, and provide better access control for different customer groups.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column blog-faq-section is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">How do I create a WooCommerce members only store?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You can create a WooCommerce members only store by restricting access to your shop pages for non-logged-in users. This can be done with custom code or by using a WooCommerce plugin like TABLEiT that allows you to control which users can view your products.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Can WooCommerce show products only to registered users?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, WooCommerce can display products only to registered users by limiting access to specific pages, categories, or product tables. When visitors are not logged in, they will not be able to see those products.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">How can I restrict WooCommerce products to specific users?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You can restrict WooCommerce products to specific users or roles by using plugins like TABLEiT that support user role conditions. This allows you to show products only to certain customers, members, or registered users.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Is it possible to hide WooCommerce prices from guests?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, many WooCommerce stores hide product prices from guest visitors and display them only to logged-in users. This approach is commonly used in wholesale or B2B stores.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Why do stores create members only WooCommerce shops?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Store owners often create members only WooCommerce shops to provide exclusive products, wholesale pricing, private catalogs, or restricted offers for registered customers.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Many WooCommerce store owners need to restrict access to certain products or parts of their store. In some cases, products should only be visible to registered users, members, or specific customer roles. Creating a WooCommerce members only store helps businesses control who can see and purchase certain products. A members-only WooCommerce shop is useful for [&hellip;]<\/p>\n","protected":false},"author":1990,"featured_media":26709,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50,73],"tags":[],"class_list":["post-26687","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-woocommerce"],"featured_image_url":"https:\/\/ithemelandco.com\/blog\/wp-content\/uploads\/2024\/01\/create-shop-only-for-registered-users-500x335.jpg","excerpt_plain":"Many WooCommerce store owners need to restrict access to certain products or parts of their store. In some cases, products should only be visible to registered users, members, or specific customer roles. Creating a WooCommerce members only store helps businesses control who can see and purchase certain products. A members-only WooCommerce shop is useful for [&hellip;]","_embedded":{"wp:term":[[{"term_id":50,"name":"Tutorials","slug":"tutorials","term_group":0,"term_taxonomy_id":50,"taxonomy":"category","description":"Follow and learn the latest educational articles about WordPress plugins and WooCommerce here","parent":0,"count":256,"filter":"raw"},{"term_id":73,"name":"WooCommerce","slug":"woocommerce","term_group":0,"term_taxonomy_id":73,"taxonomy":"category","description":"Do you use WooCommerce to manage your online store? We suggest you read this category of WooCommerce articles.","parent":50,"count":205,"filter":"raw"}]]},"_links":{"self":[{"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/posts\/26687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/users\/1990"}],"replies":[{"embeddable":true,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/comments?post=26687"}],"version-history":[{"count":2,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/posts\/26687\/revisions"}],"predecessor-version":[{"id":51050,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/posts\/26687\/revisions\/51050"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/media\/26709"}],"wp:attachment":[{"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/media?parent=26687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/categories?post=26687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ithemelandco.com\/blog\/wp-json\/wp\/v2\/tags?post=26687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}