Tested Updated Bestseller Perfect rating Documented

Product Visibility by User Role for WooCommerce

(6 customer reviews)

From: $29.99 / year

Display WooCommerce products by customer’s user role.

$29.99 Single site1 year of updates and support30-day money-back guaranteeBuy
$79.99 Unlimited sites1 year of updates and support30-day money-back guaranteeBuy
$149.99Unlimited sitesLifetime updates and support30-day money-back guaranteeBuy


Product Visibility by User Role for WooCommerce Pro plugin lets you show/hide WooCommerce products depending on customer’s user role.

Plugin settings are located in “WooCommerce > Settings > Product Visibility”. Also to set user roles for each product, check “Product visibility” meta box on each product’s edit page.

General Options

Product Visibility by User Role for WooCommerce - General Options

Start by visiting “General” options section in “WooCommerce > Settings > Product Visibility by User Role > General”. Here you can choose how products should be hidden:

Hide catalog visibility
This will hide selected products in shop and search results. However, the product will still be accessible via direct link.
Default: yes
Make non-purchasable
This will make selected products non-purchasable (i.e. product can’t be added to the cart).
Default: no
Modify query
This will hide selected products completely (including direct link).
Default: no
Hide menu items
Hides nav menu items (i.e. hidden products, product categories and tags). Only products, product categories/tags marked in bulk settings will be hidden. This options uses the wp_get_nav_menu_items filter.
Default: no
Hide products terms
Hides products categories and tags from being displayed on front-end. Only categories/tags marked in bulk settings will be hidden. This options works filtering terms from get_terms() function.
Default: no
This option is useful only if Modify query is enabled. Redirects to a page different from 404, in case a product is considered invisible.
Default: None
Redirect: Redirect URL per product
This will add new “Product visibility: Redirect URL” meta box to each product’s edit page.
Default: no
Replace description
This will replace the content in the “Description” tab for the selected products.
Default: no
Replace description: Content to replace with
E.g.: Log in to see the product description.
Default: None

Per Product Options

After settings general option you can you can set included or excluded user roles for each product individually – go to product’s edit page and locate “Product visibility” meta box:

Product Visibility by User Role for WooCommerce - Admin Settings - Product Meta Box

Admin Options

Product Visibility by User Role for WooCommerce - Admin Settings - Admin Options

User roles to display in settings
Leave blank to show all available user roles.
Default: None
Admin products list column
This will add “User Roles” column to the admin products list.
Default: no
Product quick edit
This will add “User Roles” options to the product quick edit screen.
Default: no
Products bulk edit
This will add “User Roles” options to the products bulk edit screen.
Default: no

Bulk Options

Pro version also allows you to set user roles visibility options in bulk (for multiple products at once, product categories or product tags). In “WooCommerce > Settings > Product Visibility by User Role > Bulk Settings” you can set which products, product categories or tags are visible or invisible to certain role. If you fill in “Visible” option, then users with selected role will be able to see only chosen products. If you fill in “Invisible” option, then chosen products will be hidden for users with that role. If you leave any of the options empty โ€“ option will be ignored (i.e. all products will be visible).

Product Visibility by User Role for WooCommerce - Admin Settings - Bulk Options

Frequently Asked Questions

Q. I have a pagination issue: the number of products on each page turns out random depending on which products are hidden. What should I do?
A. You need to enable “Modify query” checkbox in plugin “General” settings section (in “WooCommerce > Settings > Product Visibility”).

Free vs Pro

Free Version Pro Version
Hide product’s catalog visibility yes yes
Make product non-purchasable yes yes
Hide product completely (modify query) yes yes
Set each product’s user roles yes yes
Set each user role’s products (in bulk) no yes
Set each user role’s product categories (in bulk) no yes
Set each user role’s product tags (in bulk) no yes
Redirect a invisible product to a page different from 404 no yes
Hide menu items no yes
Hide products terms no yes
Replace product’s description no yes

6 reviews for Product Visibility by User Role for WooCommerce

  1. blank


    Hi! Thanks for this incrdible plugin.. works fine and excellent!

    I have a question… this plugin is compatible with WP All Import plugin? Do you an idea how can i put de cell on excel to import the values for visible and invisible user for each product? this fields accept multiple values .. so, i can’t find the way to import from excel to woocommerce

  2. blank

    Evan Gwin (verified owner)

    Let me start out to say, Pablo is hands down awesome! His customer service skills and expertise with woocommerce are incredible. I can to him with a problem that I was seeing using this plugin, and he helped fix the problem immediately. I cannot say enough good things about him. Very sincere, and will definitely make sure you are happy with the plugin you purchase.

    • blank

      Pablo Pacheco

      Thanks ๐Ÿ˜‰

  3. blank


    very simple and easy to use… good plugin and recommended

    • blank

      Pablo Pacheco


  4. blank

    Domenico Saggese (verified owner)

    Excellent! It works in complicated situations, with many roles and many visibility rules, I have gourps of users who can see only some category of products and groups who can all products EXCEPT some category, and even users with more roles, one to be managed by this plugin and one to be seen by another plugin

    Support is quick, kind and effective

    • blank

      Pablo Pacheco


  5. blank

    charlescoates (verified owner)

    Support for this plugin was excellent from Pablo, Thanks for your support Pablo.

    • blank

      Pablo Pacheco

      Anytime ๐Ÿ™‚

  6. blank

    dvelopit (verified owner)

    Great plugin works well. really fast support – Author even modified plugin for a new feature request. Highly recommended.

    • blank

      Pablo Pacheco


Add a review

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

137 thoughts on "Product Visibility by User Role for WooCommerce"

  1. Hi,
    I have just downloaded the PRO version, but I am getting the below error when I am logged in with admin. Do you know what causing this?

    Warning: array_merge() [function.array-merge]: Expected parameter 2 to be an array, string given in /var/www/”my-page”.com/public_html/wp-content/plugins/product-visibility-by-user-role-for-woocommerce-pro/includes/alg-wc-pvbur-functions.php on line 175

    Warning: array_merge() [function.array-merge]: Expected parameter 2 to be an array, string given in /var/www/”my-page”.com/public_html/wp-content/plugins/product-visibility-by-user-role-for-woocommerce-pro/includes/alg-wc-pvbur-functions.php on line 188

    Warning: array_merge() [function.array-merge]: Expected parameter 2 to be an array, string given in /var/www/”my-page”.com/public_html/wp-content/plugins/product-visibility-by-user-role-for-woocommerce-pro/includes/alg-wc-pvbur-functions.php on line 175

    Warning: array_merge() [function.array-merge]: Expected parameter 2 to be an array, string given in /var/www/”my-page”.com/public_html/wp-content/plugins/product-visibility-by-user-role-for-woocommerce-pro/includes/alg-wc-pvbur-functions.php on line 188

  2. I have a pre-sale question.

    I usually upload all my products through the import file function on Product page.

    Now, I have two user roles setup – Customer & Premium.

    Now, what do I enter to which column in the import file in order to bring the visibility into effect?

  3. Hi,

    Iโ€™m using the PRO version of the plugin.

    Iโ€™ve a question about the plugin Product Visibility by User Role for WooCommerce. Iโ€™ve a producttag with products that should not be visible for some users and all customers. Everywhere the products with this producttag arenโ€™t visible, but when I search the still showing up..

    What can I do?


  4. Dear Algoritmika,

    For this specific role we’ve setup that 2 other categories are not visible: http://prntscr.com/qadm7z and this works for the categories menu: http://prntscr.com/qadmps so far so good.

    When we login with this specific role and visit the first subcategory we only see 2 products http://prntscr.com/qadn3s. Compared to what we see as an admin http://prntscr.com/qadnhe there is a difference.

    When checking in Woo there are many more products within this first subcategory: http://prntscr.com/qadnzi but only the two showed are ONLY in this category. It looks that if a product is selected in more categories it won’t show at all.
    okay, so let’s go back to what we would like to accomplish:
    There are like 100 products, and for each role we would like to show a different menu with subitems and within them different products. All products are more or less shown to 2 or more roles, but all in a different category structure. And sometimes a product is shown to two roles, but hid for another role.

    To talk in human: the 1L milk product is shown to stores, but not to bigger companies because the will buy the milk in buckets of 10L (in example).

    1. Second time in one week: found it already. Had to uncheck these options http://prntscr.com/qadv0x to make sure I was allowed to see the products, and left the bottom two checked to make sure I would not see the other menu’s. I suppose other roles CAN technically see the products but that won’t be a problem for now.

  5. Hi there,
    I have been working on getting this plugin to work with Advanced Woo Search. That plugin developer has a solution in place for hiding items set to invisible from the search results as well.

    However, this is only working when products are set to invisible on individual product pages, not when products are set to hidden in the bulk area.

    Any idea on how to remedy this issue?


    Here’s the code used to hide items from search provided by Advanced Woo Search:
    //Remove User Role-based Hidden Visibility items from Advanced Woo search
    add_filter( ‘aws_search_results_products’, ‘aws_search_results_products’ );

    function aws_search_results_products( $products_array ) {

    $new_products_array = array();

    foreach( $products_array as $product_array ) {

    $post_id = $product_array[‘post_data’]->ID;

    if ( function_exists( ‘alg_wc_pvbur_get_current_user_all_roles’ ) && function_exists( ‘alg_wc_pvbur_get_invisible_products_ids’ ) ) {
    $post__not_in = array();
    $current_user_roles = alg_wc_pvbur_get_current_user_all_roles();
    $invisible_product_ids = alg_wc_pvbur_get_invisible_products_ids( $current_user_roles,true );

    if ( is_array( $invisible_product_ids ) && count( $invisible_product_ids ) > 0 ) {
    foreach ( $invisible_product_ids as $invisible_product_id ) {
    $filter = apply_filters( ‘alg_wc_pvbur_is_visible’, false, $current_user_roles, $invisible_product_id );
    if ( ! filter_var( $filter, FILTER_VALIDATE_BOOLEAN ) ) {
    $post__not_in[] = $invisible_product_id;

    $post__not_in = array_unique( $post__not_in );

    if ( in_array( $post_id, $post__not_in ) ) {


    $new_products_array[] = $product_array;


    return $new_products_array;


  6. Hi there,

    I bought the pro version but I am facing an issue that quite a few people seems to be facing on the visibility of product on search results.

    Products are still displaying even after they are supposed to be hidden. I’m sure there isn’t an easy fix but where would you recommend to check ?


  7. Hi,

    unfortunately the plugin doesn’t work properly. Even if i enable “Hide catalog visibility” and “Modify query”, the products are still available via wordpress-search.

    we use the theme avada as our maintheme.

    p.s.: If it helps to get rid of this issue, we woul buy the plugin… but only “if”…

    1. Hi Jens,

      Did you get an update regarding this issue ? Same here and it is a real issue for us.

    2. Hi,

      no – unfortunately i didn’t get any reply on this. I don’t recommend this plugin anymore. Why paying for something, when you don’t get any kind of support?!


  8. Hello,

    After updating wordpress this plugin is not working. As it is displaying error “The website has technical difficulties.”. If I am deactivating this plugin site is working fine. Site is also having WPML.
    Please let me know that how I can resolve this issue.

  9. Good day! We use the free version of the plugin on our website, we also looked at the paid version (what is included in it) but did not find one important function there – to determine products visible and not visible custom product loop (like custom search page or custom category loop page making by WP_query). Question to you – what is the opportunity to determine whether they are visible or not anywhere on the site? thank

  10. I have purchased the Pro version, when we enable “Modify query” the majority of the other pages on the site (when logged in as specific user role) give a 404 error.

  11. Hi there,
    i just bought and installed the PRO plugin but it does not seem to work. Enabling or disabling different bulk setting do not seem to affect my product visibility, and it is not possible to remove or adjust the product settings.

    Can you please contact me on [email protected] so I can provide you with more details.

    Kind regards,


  12. Hello.. just a question.. can I manage roles asociations from API REST.. we need to know this info to decide the purchase of the the plugin.. Thanks. Regards.

  13. How do I accomplish the following? (with pro version)
    Guests =
    –can see categories and can see the products on the category archive page.
    — when the click on a product, they are redirected to a page to sign up for access to see prices.

    Subscribers = (got this working)
    — Can see everything
    — Cannot purchase

    Customers, Admin, etc. = (seems to be working fine too)
    Full access.

  14. Hello, I have purchased this product recently but have an issue where I have defined a product to be invisible to a wholesale role and it doesnโ€™t show in categories which is correct, however if I search for that product it shows in the search box ?

    Thank Paul

  15. Hi. I cannot see the images of the new products who load when scrolling down the page.


  16. I know your plug-in does not have the following behavior but please consider adding or creating a separate plug-in with the the functions i note below.

    Currently only one plug-in manages to do this right, hiding and password protect products and product categories from the shop pages. I am telling you about this plug-in


    Yes there are a few others but not quite sophisticated like that.

    It’s the only one that manages not only to password protect products / categories and the corresponding subcategories, but also hide them from menus widget filters etc.

    Please consider creating something similar.

    Password protect products and categories and hide them completely from the shop just like they where never there. Only people with the password and direct link can buy the products.

    Thank you.

  17. Hi there i guess your plugin returns me a fatal error when I activate in General Options Modify query and I try to log in with a “member” user role on my site.

    I activate WP debug true and the fatal error seems to be related to the class class-alg-wc-pvbur-core.php

    I have WooCommerce Memberships installed and WooCommerce Memberships Role Handler they both create the memebrship area and the membership role.

  18. Hi,

    I have the pro version of the plugin and I want to redirect the 404 erro to a custom page. The new page is created and all the settings needed to redirect too. Modify query is activated.

    Could you help me with that?


  19. i am having an issue with products that are supposed to be hidden showing up in the Woocommerce Bulk order entry plugin. Do you know if there is a way to prevent this?

  20. Hi,

    The enabling of the Modify Query fixes the pagination, but non-admin users are directed to 404 Page when they click on any static page?

    Please point out what is wrong here, we need to launch tomorrow.

    Thank you

    1. I have exactly the same problem. Any updates on this?

    2. Maybe the problem lies in class-alg-wc-pvbur-pro-core.php on line 545 where in the if statement is ! $wp_query->is_404
      because later on you do not check what post type you’re hiding or 404-ing.

    3. For now I resolved it by turning off ‘Hide all’ in Bulk settings for Guest and list the categories (all of them) in Invisible.

  21. The Product Category visibility by User role is working fine, but none of the static pages are accessible now, they keep getting re-directed to the 404 error page, even the Woocommerce myaccounts page.

    I want only the Product categories in the Visible field to be accessible to the role, the rest shouldn’t but when I type the URL of the other Categories, it displays it, I have around 200 product categories and I cannot enter each one of them for every role in the invisible field.

    Please provide a solution to both the issues above ASAP, we are in launching in 2 days.

    Woocommerce version is 3.5.3 and there are NO compatibility issues, as I have tried switching it off for 1 role only and the static pages start working.

    1. Hi,

      The enabling of the Modify Query fixes the pagination, but non-admin users are directed to 404 Page when they click on any static page?

      Please point out what is wrong here, we need to launch tomorrow.

      Thank you

  22. I am planning to use this plugin to create a wholesale shop to bulk hide the existing (retail) products from the Wholesaler Role and add new wholesale products visible only to them.

    My question is: can I bulk hide the products from the Products page bulk editor, by ticking them and bulk edit them?
    I have 1200 products and I will certainly not be able to enter every single one of them in the Bulk Settings’ textarea, under Woocommerce Tabs.

    (if I select “Hide All”, will it hide only the current products from the selected User Role, or all future added products also?)

    Thanks a lot

  23. I have hidden the categories from non vip members, but if I send anyone the link, they can access it directly. How do I fix this? Thanks.-Kim

  24. Hi.
    Do you know if you pro plug-in works with following Wholesale order form?
    Free version of your plug-in hides products from regular woocommerce shop page but it does not hide product from this wholesale order form.


    Thank you.

    1. did you ever get an answer to this, i am having the same issue with Woocommerce bulk order form


  25. Hey,
    Iโ€™m using this plugin with different user roles. Everything works fine, except the first shop page. Every page should show 16 products, but the first page shows only 3 or 4 and the page numbers are too many, the last shop pages are all empty. If I go to the second shop page everything looks fine again and the shop pages are reduced correctly.
    Do you know how I can fix the first page?

    1. Hi,

      Please try enabling “Modify query” checkbox in plugin “General” settings section (in โ€œWooCommerce > Settings > Product Visibilityโ€).

  26. Hi,

    This plugin has begun affecting all posts / pages on my site, for example when I have a role restricted by product tag, the user is unable to access the cart/checkout pages on the site. A 404 error is displayed.

    The error only seems to occur when modify query is enabled.

    1. Hi,

      Maybe you can create/share an admin account to your server (WP and FTP), so I could log in and check what’s going on. If that’s possible – my private email is [email protected]. If sharing an account is not an option – please let me know and I will try to solve this remotely, and in that case please copy/paste and send to me all the info from “WooCommerce > System Status” page.

    2. Hi Tom,

      I have emailed you all the details as well as a screen recording of the issue.



    3. Any Update?

    4. Hello,

      I have exactly the same problem. When “Bulk Settings” section is enabled and at the same time “Modify query” is enabled only the main page can be accessed – when trying to access any other subpage – including cart & account I have message that page does not exist. I tried to edit visibility for each product separately (when Bulk Settings is not enabled problem does not occur), but that does not hide them. WordPress 5.2 (pl_PL), WooCommerce 3.6.2, PHP 7.2.14, IdeaWebServer/0.83.213 (like Apache), MySQL 5.7.22-22-log.

  27. Hi There,
    When using ‘non-purchasable’ option, the ‘add to cart’ button disappears on the single product page, which is correct. However, if you go to a category page, the products are not there despite the sorting toolbar showing “Showing all 2 results”.
    Word Press v.5.0.3
    WooCommerce v.3.5.4
    Product Visibility by User Role for WooCommerce Pro v.1.4.0
    PHP 7.0.33

    Are you aware of the issue?

  28. We just purchased this plugin. What we would like to do is hide all products for every role through the Bulk Settings area. Then, using the Product Visibility on the Edit Product page, we would like to select which roles can view that product. We would like to be able to see all of those products that are selected as viewable in the Bulk Settings area when viewing the selected role.

    The problem is that on the Bulk Settings area, when we select a role and check ‘Hide All’, the front end returns the error “Warning: count(): Parameter must be an array or an object that implements Countable in /home/baseline/public_html/profillment/wp-includes/post-template.php on line 284”. When it is off and we add products to the Products Visible area, only the products in the box show. This is great! However, the setup here does not show when editing a product. This inconsistency makes it confusing to manage which products are visible to which roles. So while this Bulk Settings may be advantageous during setup, it is counter-intuitive when managing products.

    Can you help out?

    Thank you.

  29. I just purchased and was hoping that i could control the url redirect per product. It seems as there is only 1 place for the redirect. Any chance that there is a way to control the redirect url per individual product?

    1. Hi,

      If anyone else has similar task – “Redirect URL per product” option is available in Pro since version 1.3.0.

  30. HI,
    I answered here some hour ago, but now I can’t see my post.
    I updated my pro plugin to 1.2.7 but still nothing change about category widget and category browsing; an user that could not browse a category, actually can’t browsing in italian(main language), but he can, browsing in German (only other language)

    Am I doing something wrong?

    1. Hi,

      Could you please update to v1.2.9 and let me know if it fixes it?

    2. I did, it works! Great help and support!

    3. Hi,

      Happy to hear it’s fixed!

      P.S. If you like the plugin, please leave us a rating.

  31. Hello before i buy this plugin there is option to do the visible produce per user and not per role ?

  32. Product looks good (I’m in testing fase), but doesn’t seem to work with WPML. Only works on main language.

    Is it compatible with WPML?


    1. Hi Bart,

      We’ve just released new plugin version (v1.2.3 for free and v1.2.7 for Pro), where WPML issues should be fixed. Could you please take a look and let me know if something is still not working as expected.

  33. Hello, I’m really happy with your “Country Product Visibility for WooCommerce Pro” plug-in, just missing one thing because it’s perfect (for me)… adding the possibility to hide an entire category as well.
    If it does not even appear in the category widgets (the category does not appear in the list) .. it would be great !!!

    I would be very grateful if you could add this functionality to your plugin which is essential to me.

    Best regards
    Marco R.

    Forgive my bad english

    1. Same thing happens to us, the option is enabled in general and the entire category should be invisible for the user role but only the products are invisible, the category is still in the menu.
      Any fix for this?

  34. Hi there, plugin is working great however I have run into a problem with our setup. We have multiple user roles applied to users. One user role allows cash on delivery, and another is ‘gold member’.

    Gold members get to see hidden products (works great so far)
    However some gold members also have the role of ‘cash on delivery’ and we want them to still see hidden products. Other ‘Normal customers’ have role ‘cash on delivery’ but not gold member so we dont want them to see the hidden products.

    Problem is if a user is both Gold member + cash on delivery then they cant see the hidden products.

    Any suggestions?


  35. Hi,

    Thank you for your answer. I have updated the plugin and everything that could be updated and followed your explanation.

    Then I went to see if I could use the bulk settings select non-purchasable for pruduct, tags, categorie, etc. in the same way as visible/invisible. I did not see any non-purchasable option there.

    Then I went into a product so see if the visibility options of wordpress or visibility option of the plugin offered me a choice of selecting the product as non-purchasable. I did not see anything there either.

    Can you check the update or explain me where I can apply the non-purchasable option ?

    Thank you for your help.

    1. Hi,
      Sure. It’s located on plugin’s settings, right at:
      WooCommerce > Settings > Product Visibility > General

      You have to set:
      – Hide catalog visibility
      – Make non-purchasable

      When you do that, all invisible products will be considered non-purchasable

    2. Hi,

      Thank you for help. It works fine now.

      Great plugin !

    3. Thanks ๐Ÿ˜‰

      Would you mind writing a tiny review like this? We would really appreciate it

  36. Hi,

    I would like to make some products visible but non-purchasable for guest but purchasable for some roles like suppliers.

    I have checked the box in the general settings but when I want I go into bulk settings or in a product I canot see anywhere to apply the non-purchasable product.

    Can you explain me what are the correct steps please ?

    1. Hi,

      I think you’ve found a little glitch. Thanks for letting me know.
      I believe I was able to fix it on version 1.2.6. Can you please try it?

      If you check the “Make non-purchasable” option you have to let the “Modify Query” option disabled.

  37. Hi

    Is there a way to make product visible for user only instead of user role? If not, do you have another plugin that does this?

    Many thanks

    1. Hi,
      Unfortunately it’s not possible for now, but depending on what you have in mind I can help you with a custom code in order to do that. Please contact us using our contact form

  38. Hi,
    How can I hide the message: “Sorry, but this content can only be displayed with sufficient permission.”. It is displayed to guest users. For guest users, only some items are visible.

    Thanks for your help!

    1. Hi,
      I’m sorry, I think I didn’t get exactly your question.
      You simply want to hide the message or do you think some items are incorrectly visible?

  39. Hi.
    Congratulations for this plug-in

    Iโ€™ve a question.

    can this plugin be used on this?

    I have a WooCommerce website, then I want to make each company admin access a different login, for example like this

    on the website sells 3 product categories, then I want each admin to handle 1 category

    for example, roy for the product category handle a
    John handle product category b
    and bro product handle c

    so this Roy can’t access the product category b or c or vice versa

    1. Hi,
      Thanks ๐Ÿ™‚

      The visibility options are related to frontend only, not admin.

      But if you want I can develop a new option where products can be invisible even on admin. However according to your example, if Roy changes his product to category B by accident and save it, he will not be able to see it anymore.

      Please tell me if you would like it

    2. Hello,

      Can I discuss with you more closely? or can it be inputted to your contact, maybe email or whatsapp?

    3. Hello,
      Sure, no problem.

      Please use our contact form at Contact Us page.
      We can discuss it there

  40. Hi.
    Congratulations for this plug-in

    I’ve a question.
    can I disable the redirect by seeing the product page? because currently when I try to enter into a product that I have set as not visible (main category) I can not view it but redirects me to a page 404.

    I wish it were possible to see the product but the “Buy” button is not active (which is now correctly set as not to be purchased in the archive page of the non-visible categories)

    Thank you

    1. Thanks ๐Ÿ™‚

      Can you please try to uncheck the “Modify query” option?

  41. Hello,
    I’m setting up a website, hiding and showing categories to certain user roles. It was working fine, but we needed two roles for every user: one inluded in rules of this plugin, the other to be seen by antoher plugin.
    If I set the second role to an user (with “user role editor” plugin) that user keeps the same visibility of the products, but he sees all categories in the widget category menu. Of course, clicking the categories nothing is found, but we need to hide the catergories entries, too.
    This occurs both with user roles that have set some ‘invisible’ and no ‘visible’ categories, and with those set in reverse

    1. no answer? where is the support?

    2. Hi,

      Sorry for the delay.

      Can you please contact us using this form?

    3. Thank you, Sorry I urged you

    4. No problem ๐Ÿ™‚

  42. Client has items in retail that they donโ€™t want dealers to order and they have dealer items they donโ€™t want retail customers and/or guests to see. Ideally, the dealer logs in and they see only the dealer items (that is to say, retail items are excluded once the dealer logs in).

    To put this another way,
    (1) Dealer SKUs are hidden from guests and logged in retail consumers, and
    (2) Retail/Guest SKUs are hidden from dealer view once logged in.

    Please advise whether your plugin allows for this, thanks!

    1. Hello,

      I think it will work fine for you.
      For example, with this plugin you can try this setup:

      – Product A, B and C, only visible for retail customers and administrators
      – Product D, E and F, only visible for dealers and administrators

      But anyway, you can buy it and if it doesn’t work well you can ask for refundment.
      See you ๐Ÿ˜‰

  43. I’m using the pro version. I’m using first level categories to separate sub-categories which different User roles can see. When on the shop page, it shows the main category, how can i display the sub category list by default?

    Also how can i make all Sub categories of parent category visible? Cause I have like 10 main categories which are different, but there are 4-8 sub categories which have the same name, and in the Bulk editor, the categories are all the same and i see 10x the same name and i am unable to tell which one is the right sub-category.

    1. Hi,

      Can you please try to use product tags to control your product visibility?
      Maybe it will help you considering your situation.

      Please try it and let me know if you need more help.
      See you

  44. Hi,

    Checking the modify query option breaks the main menu on Divi theme, it looks like the menu displays as if no menu was configured i,e adds all pages to menu.

    Is there a way to stop this happening?



    1. Hi, Sorry for the delay.
      Can you please check the most recent version (1.2.4)?
      I believe you’ll have no menu issues with this version.

      Please give it a try and tell me if you need any help.
      See you

    2. Thanks Pablo,

      Works fine now ๐Ÿ™‚

  45. Hi Pablo,

    I’ve create a staging environment were you can check the bbpress issue with the activated plugin.

    Can you please leave me an email adres so I can setup an administator account for you.


    1. Hi,

      Ok, you can use [email protected]

    2. Found your email adres, have sent you all the details.

  46. Evening,

    I have just uploaded and tried to activate your plugin and got the following:

    Fatal error: Cannot redeclare class ComposerAutoloaderInitd91de799bee38406c4de55b741389134 in

    Have i missed something?


    1. Hi,

      Can you please make sure to disable your free version before trying to enable the pro one?

    2. DOn’t worry – I just realised i had the non pro version installed as well and it was causing a conflict!

    3. Glad to hear!
      Enjoy it ๐Ÿ™‚

  47. Hello – The plugin works great to hide products from users with the Guest user role. However, products are still showing up in Guest searches. No combination of check marks in the settings fixes that problem. Can you please advise?

    1. Hello,

      Can you please describe exactly what settings are making your products be displayed in search results?
      Maybe we can try to reproduce it here. Thanks for your question

    2. “Modify query” is checked. “Admin products list column” is checked. “Product quick edit” is checked. I tried on a sample product, and it shows 404 for Guests with a direct link (which is correct). But then, as a Guest, I searched for the product, and it shows up in Search results.

    3. Hi again Eva,
      I noticed you were right. I just updated the plugin. Can you please try it and tell me the results?

    4. Hi Pablo,

      Ik just downloaden and tested the free version. But i also have the same issue as Eva.

      Product is hidden and is not accessible. But it shows in the search result.

      The version i use is: 1.2.0

  48. Hi,

    Does the plugin work on variable products?
    Can we hide only some variation of same product based on a role?
    (For example hide an attribute on subscribers and not login users)


    1. I have the same question! ๐Ÿ™‚

    2. Hi,
      Unfortunately that’s not possible for now.
      But we are going to add this on our to-do list, that would be a interesting feature, thanks

    3. Hi,
      Unfortunately that’s not possible for now.
      But we are going to add this on our to-do list, that would be a interesting feature, thanks

  49. Hi, just installed the pro plugin.
    I used “visible categories” for a certain profile.
    The problem: unavailable products are white spots on my shop page, they are not really hidden.

    Can you help me out?


    1. Hello,
      Can you please make sure the “Modify query” option is checked?
      Maybe it will solve your issue

    2. OK! Works great now!


  50. Hi there,

    Just purchased Product Visibility by User Role for WooCommerce Pro but get the following error.

    Parse error: syntax error, unexpected ‘=’, expecting ‘)’ in /home/jmfnzcon/public_html/wp-content/plugins/product-visibility-by-user-role-for-woocommerce-pro/includes/class-alg-wc-pvbur-core.php on line 140

    Running WP 4.9.5.

    Any ideas?

    1. Hi,

      I know we have already fixed this for you but just to make it clear for other users, this error have been fixed on version 1.2.0.

  51. I have added Products bulk edit and it still doesn’t show on the bulk edit screen??

    Also, I set up in the Bulk Edut section that for “Guest” my default category is set to invisiable, but it still shows??

    1. Hello,

      I’m fixing some issues on the plugin. It should be available soon.
      I’ll let you know when it’s ready

    2. Hello,

      I just uploaded a new version. Can you please check it out?
      Actually it’s a backup from version 1.1.7

    3. where can I find the 1.1.7 version??

    4. He have already fixed all the issues since version 1.2.0.
      Are you still facing some kind of problem?

  52. Sure.
    I have set it up so that Vendors should see the specific products and customers should not. What user role do you want?

  53. I use version 1.1.8.
    What do you need to see my site?

    1. Can you please create a WordPress user for me using the email [email protected]?

  54. Hi there
    On my site Weensu.dk I have used your plugin cause I want to show certain products to vendors only (also admin and shop manager) and hide for customers, since they are not โ€œrealโ€ products.

    The idea with your plugin is great but I am still seeing the products on shop page if I sort on filter โ€œnewly addedโ€ or search for the product in search field.

    Is this an error you know of?

    My guess is that the idea is to completely hide the products that have been marked as visible to only certain user roles.

    I have clicked all 3 settings in admin area regarding when and how to hide.


    1. Hi Michael,

      That shouldn’t be happening. Are you using the most recent version ?
      Can I see your site?

  55. Hi,

    I installed your plugin – everything works fine. Allmost everything.

    I noticed a strange problem:

    When I enable “Modify query”, I get a 404 error when trying to open the “my account” page; when I disable this option, everything is fine… in addition, the problem does not affect guest-user, but for example customer-users.

    Thanks in advance


    1. Hi Stefan,

      Can you please update to the most recent version (1.1.8)?

    2. Hi Pablo,

      I have updated to 1.1.8 – now it seems, as if the plugin quit working ๐Ÿ™

      I used the plugin for example to hide all products to guests – now, as a guest, you suddenly see all products… perhaps something is wrong with that version?

    3. Can you please try one thing?

      Just enter on the admin page of a product that should be invisible and try to simply update it.

      After that, check if the product will be invisible

    4. I tried what you suggested.

      Unfortunately, this did not change anything.

      I also tried to remove the tag and the re-assign ist, this also did not help ๐Ÿ™

    5. I have just tried one more thing:

      The Problem only occurs if I am trying to toggle visibilty using tags.

      When I am using the setting “invisible for Guest” on the product edit page, the product gets hidden – so this setting works fine.

    6. Hello,

      I just uploaded a new version. Can you please check it out?
      Actually it’s a backup from version 1.1.7

  56. Hi,

    Does the plugin work on variable products?
    Can we hide only some variation of same product?

    Also Im wondering how does bulk function work.
    In admin product list table?


    1. Hi Damir,
      For now it won’t work on variable products, but we are working on that ๐Ÿ˜‰

      The Bulk settings are located on plugin’s settings, next to General tab.
      It lets you setup just in one place all your products that are invisible/visible for a specific role

    2. Hello, any updates about variable products support?

  57. Hey.

    I’m using the “Members” plugin to create custom roles. Will the Pro version of this plugin recognize custom roles, or just the WordPress default roles?

    1. Hi,

      Yes. It will recognize the default and the custom roles too, including the ones made by the Members plugin

  58. is it correct that plugin just hide products but not categories and menu if it associated with the product? any chance for update with this feature?

    1. Hi Vytautas,

      Did you try enabling “Modify query” checkbox in plugin settings?

      Best regards,

    2. Yes did that.
      Maybe i described situation not in the right way ๐Ÿ™‚
      i have role where i need to show just n products and i do that and its works
      but here i have problem that all empty ( where are all products hided) categories are shown as well

    3. menu also

    4. Hi Vytautas,

      Could you please let me know if those empty categories and menus are shown in your theme without our “Product Visibility by User Role” plugin. I mean – if our plugin is disabled at all, and you create an empty category – is it still shown or hidden?

      Best regards,

    5. one again:) i have 7000 products and if want to show just 3 for particular role i need to use show function. and its working. The issue is then i am showing just 3 products all other categories becoming empty and my costumer can see all these empty categories and menu. in other words ๐Ÿ™‚
      i have 7 categories with product on of them milk and if i am showing just milk for one client the other categories are empty but they still appear in categories list and menus.

    6. Hi,

      Can you please send us your site URL?

    7. Hello again,

      I’m happy to inform we just updated a new version (1.1.7) which allows you to hide empty categories.

      You just have to enable the option called “Hide menu items” on plugin’s settings.

      After that you have to save the menu.

      Please tell me if you liked the solution ๐Ÿ˜‰
      See you

    8. This option still does not hide “empty” categories from the menu. Do you have a solution for this?

    9. Hi,

      If anyone else has the same issue – as we’ve figured out in private emails – “Hide menu items” checkbox hides *menus* (i.e. from “Appearance > Menus”) and in this case it was a list of terms rather than a menu. After checking “Hide products terms” checkbox in plugin’s settings the issue disappeared.

  59. Is there any way to redirect user to another link if they can’t access to product ?? Not to 404 NOT FOUND page.

    1. Hello Sang,

      We just added a new option on admin called “Redirect”.
      It allows you to redirect to a page different from 404, in case a product is considered invisible.

      Instead of this admin option, you can use the filter ‘pvbur_invisible_product_redirect’ instead.
      If you have any questions, let me know.

      See you ๐Ÿ˜‰

Leave a Reply

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


1.6.2 - 2020-09-17

  • UPDATE: bump tested versions

1.6.1 - 2020-08-28

  • FIX: php warning.

1.6.0 - 2020-08-22

  • NEW: per-product settings now always take priority over bulk settings.
  • NEW: adjust term counts (i.e. category counts) to account for hidden products.
  • NEW: feature for replacing short description.
  • FIX: when users have multiple roles, we now look at all roles together before deciding visibility. (Previously we decided based on the first matching role only).
  • UPDATE: display our settings in WC status report.
  • UPDATE: major code refactoring.
  • UPDATE: updated .pot file for translations.
  • UPDATE: updated updater.

1.5.8 - 2020-07-08

  • FIX: bug (since v1.5.5) allowing hidden products to appear in search.
  • UPDATE: add Persian translations (thanks to Farhad Fariborzi).

1.5.7 - 2020-06-20

  • FIX: some updates missing from v1.5.6 package.

1.5.6 - 2020-06-08

  • FIX: non-translatable string.
  • UPDATE: bump tested versions.

1.5.5 - 2020-05-12

  • FIX: filter ajax requests (may solve issues with certain themes and/or widgets that query items via ajax).
  • FIX: hidden products appearing in feeds generated by Google Product Feeds plugin (and probably other feeds plugins as well). Now feeds will be filtered with the same rules as a user with role "guest".
  • FIX: issue where pagination does not work correctly when the WC store page is set as the same page as the home page.
  • FIX: issue where unrelated posts/pages hidden when using bulk settings on the guest role and using only the "visible" products option.

1.5.4 - 2020-03-30

  • FIX: issue with settings changes not showing their effects immediately (caching issue).
  • FIX: issue with site search results showing incorrect count of results (i.e. hidden products included in results count).
  • FIX: conflict with Social Warfare plugin (Social Warfare is doing something strange with WP_Query, but their plugin hasn't been updated in months so it's faster for us just to patch it from our side).

1.5.3 - 2019-12-17

  • FIX: issue where bulk settings "hide all" hides pages and posts, not just products
  • UPDATE: add filter 'wpw_pvbur_pro_bypass_fix_singular_tax_query'

1.5.2 - 2019-11-15

  • UPDATE: bump tested versions

1.5.1 - 2019-10-29

  • FIX: issue where certain combinations of settings could cause unintended pages to return 404

1.5.0 - 2019-08-30

  • NEW: implement software licensing system; allows for one-click updates of the Premium version
  • UPDATE: updated .pot file for translations

1.4.1 - 2019-03-19

  • Dev - Plugin author data updated.

1.4.0 - 2019-02-10

  • Dev - General Options - "Replace description" options added.
  • Dev - Admin Options - Product quick/bulk edit - "Clear" option added.
  • Dev - Bulk Settings - Products - Language codes added to the list.
  • Dev - Major code refactoring.
  • Dev - Admin settings restyled.

1.3.0 - 2019-01-29

  • Dev - Admin Options - "User roles to display in settings" option added.
  • Dev - Admin settings descriptions updated and restyled.
  • Fix singular view if category option is in use on bulk settings.
  • Fix duplicate tax_query parameters.
  • Improve nested tax_query parameters by making it simpler.
  • "Redirect URL per product" option added.
  • Bulk Settings - "array_merge(): Argument #1 is not an array" PHP warning fixed.
  • "Hide menu items" now also hides products items from menu (i.e. not only categories and tags).
  • Admin settings restyled.
  • Add WPML compatibility to bulk section.
  • Code refactored (admin settings).
  • Fix products terms hiding regarding multiple roles.
  • Fix redirect option forcing invisible products to be 404.
  • Make the plugin compatible with WPML plugin.

1.2.4 - 2018-12-25

  • Dev - Bulk Settings - Products - Product ID added to listing.
  • Dev - Bulk Settings - Products - WPML - Listing all languages products now.
  • Dev - Bulk Settings - Products - Code refactoring - Variations listing optimized.
  • Dev - Bulk Settings - Categories / Tags - WPML - Listing all languages terms now.
  • Dev - Bulk Settings - Categories / Tags - Term ID and term parent info added.
  • Dev - Plugin URI updated.
  • Improve 'Bulk Settings' code combined with 'Modify Query' option.

1.2.3 - 2018-12-06

  • Add compatibility with WPML plugin.

1.2.2 - 2018-08-13

  • Improve 'alg_wc_pvbur_can_search' filter preventing the main visibility query to work on wp menu.
  • Fix category visibility replacing 'key' by 'taxonomy' on tax_query parameters.

1.2.1 - 2018-07-25

  • Allow other plugins to interact with invisible products query using the 'alg_wc_pvbur_can_search' filter or passing a 'alg_wc_pvbur_search' parameter on customs WP_Query queries.
  • Add WooCommerce minimum requirement.
  • Improve performance of invisible products search by saving the results of alg_wc_pvbur_get_invisible_products() in cache (Only the ids, not WP_Query).
  • Add action 'alg_wc_pvbur_save_metabox' on metabox saving.
  • Add new function 'alg_wc_pvbur_get_invisible_products_ids()' to get only the invisible products ids, with a cache option.

1.2.0 - 2018-06-29

  • Improve 'alg_wc_pvbur_is_visible()' function. Get the terms isn't working properly. Replace by wp_get_post_terms().
  • Add is_search() check to products hiding function to make sure it works on search results too.
  • Add new option to filter product terms hiding product categories and tags using the get_terms() function.
  • Improve invisible product detection on single product pages.
  • Add new option to hide all products, product categories/tags from user roles.

1.1.9 - 2018-05-24

  • Create "alg_wc_pvbur_get_invisible_products" function.
  • Change the way Modify query option works.
  • Add 'alg_wc_pvbur_post__not_in' filter.
  • Add 'alg_wc_pvbur_hide_products_query' action.
  • Update WooCommerce tested up to.

1.1.8 - 2018-05-03

  • Remove pro version checking.
  • Fix visible products logic.
  • Fix 'alg_wc_pvbur_get_user_roles()' function exists.
  • Use composer to handle dependencies.

1.1.7 - 2018-04-18

  • Add composer
  • Sync bulk options with post meta values.
  • Change the way "product_by_user_role_pre_get_posts()" works. Now it really hides invisible product from queries fixing issues with pagination.
  • Add action 'pvbur_save_product' after a product is updated.
  • Add a new admin option to hide categories from wp nav menu if there is no products to show.
  • Add a filter 'pvbur_hide_empty_cats' to hide categories from wp nav menu if there is no products to show.

1.1.6 - 2018-04-12

  • Add 'alg_wc_pvbur_is_visible' filter.
  • Add new option on admin to redirect to a page different from 404 in case a product is invisible.
  • Add new filter 'pvbur_invisible_product_redirect' to redirect to a page different from 404 in case a product is invisible.

1.1.5 - 2018-03-26

  • Fix - Core - is_visible() - Bulk settings - Products - Returning false only.
  • Dev - General - Admin Options - "Product quick edit" option added.
  • Dev - General - Admin Options - "Products bulk edit" option added.

1.1.4 - 2017-11-12

  • Dev - Core - Possible "wp_get_current_user() undefined" error fixed.

1.1.3 - 2017-10-31

  • Dev - Admin Settings - Settings tab title updated.
  • Dev - Admin Settings - General - Description updated.

1.1.2 - 2017-10-30

  • Dev - Admin Settings - Bulk Settings - User roles subsections added.
  • Dev - Admin Settings - Meta box - Title updated.

1.1.1 - 2017-10-26

  • Dev - Admin Settings - Bulk Settings - "Save all changes" button added to each role's section.
  • Dev - Admin Settings - Meta box - Title and descriptions updated.

1.1.0 - 2017-10-25

  • Dev - "Bulk Settings" section added.
  • Dev - Admin Settings - Meta box select - chosen_select class added.
  • Dev - Admin Settings - Meta box on product edit moved to side with low priority.
  • Dev - Code refactoring.
  • Dev - Saving settings array as main class property.

1.0.0 - 2017-08-30

  • Initial Release.

Free version

This plugin is a premium version of free "Product Visibility by User Role for WooCommerce" plugin.

Installation and Updates

  • Buy the plugin ๐Ÿ™‚
  • Download plugin's zip to your computer (you will receive an email with download link, or you can always download the plugin from your account).
  • Go to "Admin Dashboard > Plugins > Add New > Upload Plugin" and browse for downloaded zip file.
  • If plugin is successfully installed - you should see it added to the Plugins list.
  • To keep WPFactory items up to date, please install WPFactory Helper plugin and enter your site key.


We want to ensure that you are 100% happy with your purchase, so if you feel the product(s) you purchased are not the best fit for your requirements and you attempted to resolve issues with product's author, we are offering 30 day money back guarantee refund policy.