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. 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”
5. Default Primary Category (for Priority Strategy)
– Used as a default selection for products when Priority Strategy is enabled.

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
  • Category Allowed Roles field
  • Product Access Mode and Allowed Roles
  • 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 and Developers

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

Contributors

Change Log

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)