Title: Product Visibility by User Role for WooCommerce
Author: WP Wham
Published: <strong>August 31, 2017</strong>
Last modified: February 20, 2026

---

Search plugins

![](https://ps.w.org/product-visibility-by-user-role-for-woocommerce/assets/icon-
256x256.png?rev=1722442)

# Product Visibility by User Role for WooCommerce

 By [WP Wham](https://profiles.wordpress.org/wpwham/)

[Download](https://downloads.wordpress.org/plugin/product-visibility-by-user-role-for-woocommerce.1.8.4.zip)

 * [Details](https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/)

## Description

**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](https://wpwham.com/products/product-visibility-by-user-role-for-woocommerce/)
plugin. Pro version also has options to hide menu items, hide product terms, set
custom redirect page (i.e. instead of default 404).

#### Feedback

 * We are open to your suggestions and feedback. Thank you for using or trying out
   one of our plugins!
 * Drop us a line at [https://wpwham.com](https://wpwham.com).

## Installation

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

## Reviews

![](https://secure.gravatar.com/avatar/068a9f09695cfec74c8b5eba32300a1fee47862e4f5cd2dbe9fc85d721fc6fb7?
s=60&d=retro&r=g)

### 󠀁[HPOS They don’t care to update their plugin](https://wordpress.org/support/topic/hpos-they-dont-care-to-update-their-plugin/)󠁿

 [tbo460](https://profiles.wordpress.org/thibotus01/) March 26, 2024 3 replies

What a shame to state their plugin is HPOS ready and they added the code but still
don’t release the update even after 3 MONTHS… Wondering about the real reasons behind
it? Who is responsible and behind this lack of professionalism?

![](https://secure.gravatar.com/avatar/1bc3104bb1392922f04e036e676d6b35ba60fbd9aa84ab631c688982806d39d1?
s=60&d=retro&r=g)

### 󠀁[This plugin is incompatible with HPOS](https://wordpress.org/support/topic/this-plugin-is-incompatible-with-hpos/)󠁿

 [Olena](https://profiles.wordpress.org/elenapetrova2017/) February 18, 2024 1 reply

I added a plugin. I can see the message This plugin is incompatible with the enabled
WooCommerce feature ‘High-Performance Order Storage (HPOS)’, it shouldn’t be activated.
And I don’t know if it will interfere with the operation of the shop. Do you plan
to improve the plugin?

![](https://secure.gravatar.com/avatar/dea65cd6527c0355b3d2e493589f10d645d0ac73ae9dcfb6fbc3fd7d2714350d?
s=60&d=retro&r=g)

### 󠀁[Worthless for Product Variations](https://wordpress.org/support/topic/worthless-for-product-variations/)󠁿

 [ChickenWhisperer](https://profiles.wordpress.org/thispluginisbuggyashell/) October
6, 2021 1 reply

Most stores have different shapes and sizes of products. Depending on these factors,
stores want certain products available for wholesale. For a plugin that specializes
in product visibility, this information must be assigned at a variation level, not
a product level.

![](https://secure.gravatar.com/avatar/4ccf225184f3b6743dadcbe9572e8043ed3f837c948f5ae2177f02afaa277823?
s=60&d=retro&r=g)

### 󠀁[all work](https://wordpress.org/support/topic/all-work-6/)󠁿

 [stockbrokerad](https://profiles.wordpress.org/stockbrokerad/) October 5, 2021 
1 reply

working ok

![](https://secure.gravatar.com/avatar/9ba674b0fbcda8b7755daf8134d15788755433f80883040bb0b9632b2149f106?
s=60&d=retro&r=g)

### 󠀁[My Rescue!](https://wordpress.org/support/topic/my-rescue/)󠁿

 [audiosteps](https://profiles.wordpress.org/audiosteps/) September 12, 2021 1 reply

Have a Hybrid B2B B2C Shop. My Wholesale Plugin and all other woocoomerce hide plugins
can´t hide the products from search results with ajax. your plugin works perfectly!
thank you. will buy the pro in the next days.

![](https://secure.gravatar.com/avatar/cb6d16716e3e2cd6336bd1e0d37b65e3dd3e6221f8199f06e959291539873244?
s=60&d=retro&r=g)

### 󠀁[doesn’t hide peoduct on front page](https://wordpress.org/support/topic/doesnt-hide-peoduct-on-front-page/)󠁿

 [icgit](https://profiles.wordpress.org/icgit/) April 21, 2021 1 reply

It hides the product from Product Range but not from front page sections

 [ Read all 21 reviews ](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/)

## Contributors & Developers

“Product Visibility by User Role for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ WP Wham ](https://profiles.wordpress.org/wpwham/)

“Product Visibility by User Role for WooCommerce” has been translated into 1 locale.
Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/product-visibility-by-user-role-for-woocommerce/contributors)
for their contributions.

[Translate “Product Visibility by User Role for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/product-visibility-by-user-role-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/product-visibility-by-user-role-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/product-visibility-by-user-role-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/product-visibility-by-user-role-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/product-visibility-by-user-role-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.8.4 – 2026-02-19

 * FIX: PHP notice.

#### 1.8.3 – 2025-05-31

 * FIX: PHP notice.

#### 1.8.2 – 2024-08-28

 * FIX: bug with “replace short description” feature.

#### 1.8.1 – 2023-07-13

 * FIX: PHP 8.2 notices.
 * FIX: WP notice.

#### 1.8.0 – 2022-06-01

 * UPDATE: changes to maintain compatibility with new features in pro version.
 * UPDATE: updated .pot file for translations.

#### 1.7.3 – 2021-09-08

 * FIX: issue with product attribute counts not updating in WC layered nav widget.
 * UPDATE: PHP 8 now officially supported.
 * UPDATE: updated .pot file for translations.

#### 1.7.2 – 2021-04-23

 * FIX: bug with setup_search_cases where post_type could be array.
 * UPDATE: added explanatory text around visible/invisible settings.
 * UPDATE: updated .pot file for translations.

#### 1.7.1 – 2021-04-13

 * FIX: compatibility issue with “WooCommerce Composite Products” plugin.

#### 1.7.0 – 2021-01-14

 * NEW: compatibility with “WooCommerce Product Search” plugin.

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

## Meta

 *  Version **1.8.4**
 *  Last updated **4 months ago**
 *  Active installations **6,000+**
 *  WordPress version ** 4.4 or higher **
 *  Tested up to **6.9.4**
 *  Languages
 * [English (US)](https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/)
   and [Persian](https://fa.wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/product-visibility-by-user-role-for-woocommerce)
 * Tags
 * [product](https://wordpress.org/plugins/tags/product/)[user role](https://wordpress.org/plugins/tags/user-role/)
   [visibility](https://wordpress.org/plugins/tags/visibility/)[woo-commerce](https://wordpress.org/plugins/tags/woo-commerce/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/product-visibility-by-user-role-for-woocommerce/advanced/)

## Ratings

 3.7 out of 5 stars.

 *  [  12 5-star reviews     ](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/?filter=2)
 *  [  5 1-star reviews     ](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/reviews/)

## Contributors

 *   [ WP Wham ](https://profiles.wordpress.org/wpwham/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/product-visibility-by-user-role-for-woocommerce/)