Product Visibility by User Role for WooCommerce


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

You can choose how products should be hidden:

  • Hide products in shop and search results.
  • Make products non-purchasable.
  • Hide products completely.

In free version you can set included or excluded user roles for each product individually. If you want to set user roles visibility options in bulk (for multiple products at once, product categories or product tags), please check Product Visibility by User Role for WooCommerce Pro plugin. Pro version also has options to hide menu items, hide product terms, set custom redirect page (i.e. instead of default 404).


  • We are open to your suggestions and feedback. Thank you for using or trying out one of our plugins!
  • Drop us a line at


  1. Upload the entire plugin folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the „Plugins” menu in WordPress.
  3. Start by visiting plugin settings at „WooCommerce > Settings > Product Visibility”.


12 februarie 2020
For my webshop i want to hide a specific category for a specific user role. Everything works fine except for when I search the products show up. What to do?
11 februarie 2019
The plugin works like a charm. When my client asked me to have products visible only to a certain user role for a period of time I didn't even think such a plugin could even exist. Instead it's here, it works beautifully and the customer care is top level. They take suggestions very seriously and act on them. I recommend to check the pro version, because the bulk edit option is a real time saver.


10 februarie 2019
I needed an extension of the plugin, so I emailed them. Got a response in one business day and in the second day, guess what - the extension was there! Super awesome customer service as well as the plugin. 5* and huge recommendation!
Citește toate cele 13 recenzii

Contributori și dezvoltatori

„Product Visibility by User Role for WooCommerce” este un software open-source. La acest modul au contribuit următoarele persoane.


Istoric modificări

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.
  • 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.

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.

1.5.3 – 2020-03-30

  • FIX: issue with settings changes not showing their effects immediately (caching issue).
  • 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.2 – 2019-12-17

  • UPDATE: bump tested versions.

1.5.1 – 2019-11-15

  • UPDATE: bump tested versions.

1.5.0 – 2019-08-30

  • 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.