Title: Role Membership Access for WooCommerce
Author: jrtwebsolutions
Published: <strong>17. Januar 2026.</strong>
Last modified: 23. Septembar 2026.

---

Search plugins

![](https://ps.w.org/role-membership-access-for-woocommerce/assets/banner-772x250.
png?rev=3444832)

![](https://ps.w.org/role-membership-access-for-woocommerce/assets/icon-256x256.
png?rev=3444832)

# Role Membership Access for WooCommerce

 By [jrtwebsolutions](https://profiles.wordpress.org/jrtwebsolutions/)

[Download](https://downloads.wordpress.org/plugin/role-membership-access-for-woocommerce.1.1.0.zip)

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

 [Support](https://wordpress.org/support/plugin/role-membership-access-for-woocommerce/)

## Description

Role Membership Access for WooCommerce lets you restrict WooCommerce product visibility,
purchasing, add-to-cart, cart, and checkout access based on WordPress user roles.

You can:
 * Restrict access using **Category Allowed Roles** (Products  Categories).*
Restrict access using **Product Allowed Roles** with **Access Mode** (Products  
Edit Product). * Prevent unauthorized users from: – Viewing restricted products 
in the shop/catalog (theme dependent, hardened via filters) – Adding restricted 
products to cart – Purchasing restricted products – Completing checkout if restricted
products are in cart

The plugin provides:
 * A WooCommerce Settings tab: WooCommerce  Settings  WooRole
Access * Per-category role restrictions * Per-product role restrictions with Access
Mode (Inherit / Manual / Combine) * Multi-category conflict strategy options (Union/
Intersection / Priority Category) * Optional redirect for unauthorized users * A
reliable inline notice shown above product title (supports block themes)

### Setup / Configuration

#### Step 1: Configure global plugin settings

Go to:
 WooCommerce  Settings  WooRole Access

Available settings:
 1. Restriction Message – The message displayed when a user 
is blocked. 2. Redirect Unauthorized Users – If enabled, blocked users will be redirected
to the URL below. 3. Redirect URL – Recommended: My Account page or a custom “Join
Membership” page. 4. Restricted Product Page Behavior – What a visitor without access
sees when they open a restricted product page directly: – Teaser (default): page
stays visible, but price/description and add-to-cart are hidden – Hide completely:
shows a 404 Not Found page – Redirect: sends the visitor to the Redirect URL above
5. Multi-Category Strategy – Determines behavior when a product belongs to multiple
restricted categories: – Union (OR): allowed roles from any restricted category (
recommended default) – Intersection (AND): user must match all restricted categories–
Priority Category: use only the product’s “Primary Category”

#### Step 2: Restrict categories (recommended first)

Go to:
 Products  Categories  Add/Edit Category

Set:
 Allowed Roles (multi-select)

Behavior:
 * If a category has Allowed Roles set, products in that category are 
restricted depending on their Product Access Mode.

#### Step 3: Restrict individual products (when needed)

Go to:
 Products  Edit Product  Product data  General

Fields:
 1. Access Mode – Inherit from Categories (default) – Manual Override – 
Combine (Manual + Categories) 2. Allowed Roles (Manual) – Used only for Manual Override
or Combine 3. Primary Category (for Priority Strategy) – Used only when global Multi-
Category Strategy = Priority Category

### How Access Mode Works

#### Inherit from Categories

The product uses category Allowed Roles only.
 * If no categories have restrictions,
product is unrestricted.

#### Manual Override

The product ignores category restrictions and uses Allowed Roles (Manual) only.

#### Combine (Manual + Categories)

The product is accessible if the user matches either:
 * Product manual roles OR*
Category roles

### Multi-Category Strategy (Conflict Handling)

When a product belongs to multiple categories with different Allowed Roles:

1) Union (OR)
 – Allowed roles are combined from all restricted categories. – Prevents
accidental lockouts. Recommended for most stores.

2) Intersection (AND)
 – Allowed roles are the overlap of restricted category roles.–
Can lock products if categories disagree (use carefully).

3) Priority Category
 – Only one category drives access. – Select a Primary Category
in product settings. – Optionally set a Default Primary Category globally to reduce
per-product setup.

### Blocking Behavior

If a user is not authorized:
 * Product may be hidden from catalog (theme dependent)*
User cannot add to cart * User cannot proceed with checkout if restricted items 
are in the cart * Notice is injected above the product title (block-theme friendly)*
Optional redirect can be enabled

### Example: Restrict a Category to Subscriber Only

 1. Go to Products  Categories
 2. Edit the category (example: „Members Only“)
 3. In Allowed Roles, select: subscriber
 4. Save

All products in that category will be restricted based on their Access Mode:
 – 
Inherit: category restriction applies – Manual: product manual roles apply instead–
Combine: both apply

### Example: Restrict a Product to Editor Only

 1. Go to Products  Edit Product
 2. Product Data  General
 3. Access Mode: Manual Override
 4. Allowed Roles (Manual): editor
 5. Save

Result: only users with editor role can view/purchase.

### Privacy Policy

Role Membership Access for WooCommerce does not collect, store, or transmit any 
personal data.

This plugin operates entirely within the WordPress and WooCommerce environment and
uses existing user roles and product/category settings to control access.

No data is sent to external servers.
 No tracking, analytics, or cookies are added
by this plugin. No personal or sensitive user information is stored outside of WordPress.

If you choose to use optional external links (such as PayPal or Buy Me a Coffee),
you will be redirected to third-party services that operate under their own privacy
policies.

For questions or concerns, please visit:
 https://www.jrtwebsolutions.com

## Screenshots

[⌊WooCommerce Settings → WooRole Access tab⌉⌊WooCommerce Settings → WooRole Access
tab⌉[

WooCommerce Settings  WooRole Access tab

[⌊Category Allowed Roles field⌉⌊Category Allowed Roles field⌉[

Category Allowed Roles field

[⌊Product Access Mode and Allowed Roles⌉⌊Product Access Mode and Allowed Roles⌉[

Product Access Mode and Allowed Roles

[⌊Example blocked message above product title⌉⌊Example blocked message above product
title⌉[

Example blocked message above product title

[[

[[

## Installation

 1. Upload the plugin folder `role-membership-access-for-woocommerce` to `/wp-content/
    plugins/`.
 2. Activate the plugin via Plugins  Installed Plugins.
 3. Ensure WooCommerce is installed and active.
 4. Configure plugin settings: WooCommerce  Settings  WooRole Access

## FAQ

### I set roles but users can still access. Why?

Check:
 1. Product Access Mode – If it is Inherit, manual roles won’t apply unless
Combine/Manual. 2. Multi-Category Strategy – With Union, another category may allow
the user role. 3. Cache – Clear page cache/object cache. 4. Variable products – 
The plugin normalizes variation IDs to parent product, so it should work. Ensure
you saved roles on parent product/category.

### I can’t see the message/notices on product page.

Some block themes don’t render WooCommerce notices in classic locations.
 This plugin
renders its own inline notice above the product title and includes JS fallback.

### Does it support guests (not logged in)?

Yes. Guests are treated as role „guest“.
 If a product is restricted to roles like
subscriber/editor, guests are blocked.

### Can administrators bypass restrictions?

Yes, administrators are always allowed by default.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Role Membership Access for WooCommerce” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ jrtwebsolutions ](https://profiles.wordpress.org/jrtwebsolutions/)

[Translate “Role Membership Access for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/role-membership-access-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.1.0

 * Security: restricted product pages are now protected by default even when redirect
   is disabled (new „Restricted Product Page Behavior“ setting: Teaser / Hide (404)/
   Redirect).
 * Security: restricted products are now excluded from search, shop/category queries,
   the WooCommerce Store API (block cart/checkout and block-based shop), and the
   XML sitemap – not just the classic catalog loop.
 * Security: restriction checks now also run on admin-ajax and REST requests, not
   only regular front-end page loads.
 * Security: add-to-cart, cart and checkout blocking now use proper WooCommerce 
   error notices (`wc_add_notice`) instead of a message that was easy to miss, and
   added Cart/Checkout Blocks (Store API) support.
 * Security: admin bypass now checks the `manage_woocommerce` capability (filterable
   via `wrma_bypass_capability`) instead of the `administrator` role, so Shop Managers
   are no longer locked out.
 * Security: allowed roles are now validated against real WordPress roles (plus 
   the virtual „guest“ role) before saving.
 * Security: the Redirect URL is now sanitized on save and its host is safelisted,
   so it can no longer silently fall back to wp-admin; guests are now returned to
   the page they came from after logging in.
 * Fix: product settings were being saved twice on every product update; now saved
   once.
 * Fix: uninstalling the plugin now removes its product and category meta instead
   of leaving it behind.
 * Added: „Guest (not logged in)“ is now a selectable role everywhere roles are 
   picked.
 * Added: an „Access“ column on the Products list showing each product’s restriction
   at a glance.
 * Added: `wrma_user_has_access`, `wrma_allowed_roles`, `wrma_restricted_message`
   and `wrma_bypass_capability` developer filters.
 * Added: declared compatibility with High-Performance Order Storage (HPOS) and 
   Cart/Checkout Blocks.
 * Internal: access checks are now cached per request instead of re-querying the
   database on every check.

#### 1.0.0

 * Initial release
 * Category role restrictions
 * Product role restrictions with Access Mode (Inherit/Manual/Combine)
 * Cart + Checkout protections
 * Multi-category strategy (Union/Intersection/Priority)
 * Default primary category support
 * Inline product notice + JS fallback (block theme friendly)

## Meta

 *  Version **1.1.0**
 *  Last updated **2 weeks ago**
 *  Active installations **10+**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **6.9.10**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/role-membership-access-for-woocommerce/)
 * Tags
 * [access-control](https://me.wordpress.org/plugins/tags/access-control/)[membership](https://me.wordpress.org/plugins/tags/membership/)
   [restrict products](https://me.wordpress.org/plugins/tags/restrict-products/)
   [roles](https://me.wordpress.org/plugins/tags/roles/)[woocommerce](https://me.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://me.wordpress.org/plugins/role-membership-access-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/role-membership-access-for-woocommerce/reviews/)

## Contributors

 *   [ jrtwebsolutions ](https://profiles.wordpress.org/jrtwebsolutions/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/role-membership-access-for-woocommerce/)