Title: WMGRs Catalog Access Rules for WooCommerce
Author: Woo Managers
Published: <strong>September 23, 2026</strong>
Last modified: September 23, 2026

---

Search plugins

![](https://ps.w.org/wmgrs-catalog-access-rules-for-woocommerce/assets/banner-772x250.
png?rev=3709159)

![](https://ps.w.org/wmgrs-catalog-access-rules-for-woocommerce/assets/icon-256x256.
png?rev=3709159)

# WMGRs Catalog Access Rules for WooCommerce

 By [Woo Managers](https://profiles.wordpress.org/woomanagers/)

[Download](https://downloads.wordpress.org/plugin/wmgrs-catalog-access-rules-for-woocommerce.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/wmgrs-catalog-access-rules-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/wmgrs-catalog-access-rules-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/wmgrs-catalog-access-rules-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/wmgrs-catalog-access-rules-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/wmgrs-catalog-access-rules-for-woocommerce/)

## Description

Show every visitor only the catalog they should see. Hide wholesale items from retail
customers, retail bundles from wholesale buyers, or your whole B2B range from guests.

WooCommerce gives you one catalog and shows it to everybody. That is fine for a 
shop with one kind of customer, and wrong the moment you have two. Trade-only lines
end up visible to the public, retail multipacks clutter the wholesale browse, and
the distributor range you are contractually not allowed to advertise sits there 
in your sitemap. The usual workarounds — unpublishing products, running a second
site, hiding things behind a password — all cost you either sales or a second store
to maintain.

This plugin fixes it at the level WooCommerce actually asks the question. You write
rules that say _hide these products, or these whole categories, from this role_ —
and everything downstream obeys. Hidden items vanish from the shop page, category
archives and product search. Their direct URLs redirect to the shop rather than 
404ing. Add-to-cart is refused even if somebody constructs an `?add-to-cart=` link
by hand. Hidden categories disappear from category widgets, menus and the `[product_categories]`
shortcode, so nothing points at a door that will not open.

Rules stack rather than compete. Each rule adds its hidden items for the role it
targets, so a wholesale role and a guest can have completely different views of 
the same store without you reasoning about precedence. There is also an “Everyone”
target for temporarily pulling an item from the whole storefront — useful when a
line goes out of stock indefinitely and you do not want to change its status and
lose its URL.

#### Features

 * Hide specific products or whole categories (with all their products) per user
   role or from guests
 * An “Everyone” option to temporarily hide items from the whole storefront
 * Hidden items disappear from the shop page, category pages, and product search
 * Direct product URLs redirect to the shop; hidden category archives too
 * Add-to-cart is blocked for hidden products — even via direct ?add-to-cart= links
 * Hidden categories also vanish from category widgets, menus and the [product_categories]
   shortcode
 * Related products and shortcode loops respect the rules
 * Multiple rules stack — each rule adds its hidden items for its role
 * Lightweight: no extra tables, per-request caching of rule lookups
 * Compatible with WooCommerce High-Performance Order Storage (HPOS)

#### Who it is for

Wholesale and trade suppliers who must not show trade pricing or trade-only lines
to the public. B2B stores serving both businesses and consumers from one catalog.
Membership sites where part of the range is a member benefit. Distributors and resellers
under agreements that restrict what they may advertise publicly. And any store that
has ever unpublished a product just to get it out of sight.

#### How it works

 1. Go to WooCommerce  Catalog Access  Add Rule.
 2. Choose who the rule hides from — a user role, guests, or everyone.
 3. Pick the products or categories it hides.
 4. Save. The rule takes effect immediately, everywhere the catalog is shown.

#### Built to stay out of the way

No database tables are added and no front-end scripts are loaded. Rules are applied
through WooCommerce’s own visibility and query filters, with rule lookups cached
per request so a page full of products does not re-read the rules for each one. 
Uninstalling removes the single option it stores and leaves your products exactly
as they were.

#### The Woo Managers B2B suite

Combine with Role Based Pricing, Tiered Pricing, Request a Quote, B2B Registration&
Approval and Min Max Order Rules by Woo Managers for a complete B2B store.

#### Need more?

A premium version with per-user visibility, full private-store mode, hide-from-sitemap/
SEO controls, replacement placeholder content and country-based visibility is coming
at woomanagers.com.

## Installation

 1. Upload the plugin and activate it. WooCommerce must be active.
 2. Go to **WooCommerce  Catalog Access** and click **Add Rule**.
 3. Choose who the rule hides from — a user role, guests, or everyone.
 4. Select the products or whole categories to hide, and save.
 5. Add further rules as needed; every matching rule applies together.

## FAQ

### How do I hide products from guests in WooCommerce?

Add a rule, set “Hidden from” to **Guest (not logged in)**, and pick the products
or categories. Logged-out visitors stop seeing those items anywhere in the catalog,
while your logged-in customers carry on as normal.

### How do I show different products to different user roles?

Create one rule per role. Each rule hides its own set of items from that role, and
rules stack rather than override each other — so a wholesale customer and a retail
customer can see two genuinely different catalogs from the same store.

### Can I hide a whole category at once?

Yes. Choose the category rather than individual products and every product inside
it is hidden too, along with the category archive and the category’s appearance 
in widgets, menus and the `[product_categories]` shortcode.

### What happens when someone opens a hidden product’s URL?

They are redirected to the shop page. The product also can’t be added to the cart
by URL, so a shared or guessed `?add-to-cart=` link won’t work either.

### Can I make a trade-only store where the public sees nothing?

You can hide your whole catalog from guests by targeting the relevant categories
at the Guest role, which is the usual trade-only setup. Full private-store mode —
locking the entire storefront behind login in one switch — is in the premium version.

### Can I hide something from everyone?

Yes, choose “Everyone (hide from all visitors)” — handy for temporarily pulling 
items without changing their status, so the product keeps its URL, reviews and history
for when it comes back.

### Do the rules apply to search results?

Yes. Hidden products are removed from product search as well as the shop and category
pages, so they can’t be found by searching for their name.

### Do related products and shortcodes respect the rules?

Yes. Related-product blocks and product shortcode loops are filtered the same way,
so a hidden item can’t reappear as a recommendation on a visible product’s page.

### Does it work with product variations?

Rules apply at the product level, so hiding a variable product hides it and all 
of its variations together.

### What happens if two rules cover the same product?

They stack. Each rule hides its items from the role it targets, so overlapping rules
simply mean the product is hidden from both roles — there is no precedence to reason
about.

### Will it slow down my store?

No. There are no extra database tables, no front-end scripts and no background processing.
Rule lookups are cached per request, so a shop page showing thirty products reads
the rules once rather than thirty times.

### Does it work with High-Performance Order Storage?

Yes. The plugin declares HPOS compatibility and works with both legacy and high-
performance order storage.

### Does hiding a product affect SEO or my sitemap?

Hidden products are removed from the storefront and from search on your site, but
this version does not alter XML sitemaps or add noindex headers. Sitemap and SEO
controls are part of the premium version.

### What happens to my rules if I uninstall?

Uninstalling removes the plugin’s single stored option, which contains your rules.
Your products and categories are untouched — they simply become visible to everyone
again.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WMGRs Catalog Access Rules for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Woo Managers ](https://profiles.wordpress.org/woomanagers/)

[Translate “WMGRs Catalog Access Rules for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/wmgrs-catalog-access-rules-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.0.1

 * Tweak: the plugin author now shows as “WooManagers (WMGRs)” on the Plugins screen,
   matching the WordPress.org listing.
 * No functional changes.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [b2b](https://wordpress.org/plugins/tags/b2b/)[catalog mode](https://wordpress.org/plugins/tags/catalog-mode/)
   [hide products](https://wordpress.org/plugins/tags/hide-products/)[product visibility](https://wordpress.org/plugins/tags/product-visibility/)
   [user role](https://wordpress.org/plugins/tags/user-role/)
 *  [Advanced View](https://wordpress.org/plugins/wmgrs-catalog-access-rules-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wmgrs-catalog-access-rules-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wmgrs-catalog-access-rules-for-woocommerce/reviews/)

## Contributors

 *   [ Woo Managers ](https://profiles.wordpress.org/woomanagers/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wmgrs-catalog-access-rules-for-woocommerce/)