Restrict User Access – Membership Plugin with Force


Restrict content and contexts to control what your users get exclusive access to, or drip content over time. Create an unlimited number of Access Levels and override user and role capabilities.

Use this plugin to quickly set up a membership site where your users can get different levels such as Gold, Silver and Bronze. Then, restrict access to e.g. posts tagged “Premium”, articles written by specific authors, or all your free products.

No coding required.

Unlimited Access Levels

  • Multiple levels per user
  • Sync with User Roles, Logged in, or Logged out
  • Add membership durations
  • Unlock (drip) content for new members
  • Permit & deny level capabilities
  • Hide nav menu items
  • Restrict Widget Areas in Content Aware Sidebars
  • Redirect unauthorized users to a page or custom link
  • Tease content for unauthorized users and show custom message
  • Shortcode to fine-tune restrictions in your posts or pages

Unlimited Content Restrictions

Conditionally restrict all your posts, pages, categories, or any content you want. Restrict User Access even allows you to combine conditions. This means that you e.g. can restrict all posts in Category X written by author Y.

For each level you can restrict content with the following conditions:

  • Singulars, eg. each post, page, or custom post type
  • Content with select taxonomies, eg. categories or tags
  • Content written by a select author
  • Page Templates
  • Post Type Archives
  • Author Archives
  • (Custom) Taxonomy Archives
  • Search Results
  • 404 Not Found Page
  • Front Page
  • Blog Page
  • bbPress User Profiles
  • BuddyPress Member Pages
  • Languages (qTranslate X, Polylang, Transposh, WPML, TranslatePress)
  • Pods Pages

Plugin Integrations & Support

Restrict User Access automatically supports Custom Post Types and Taxonomies created by any plugin or theme. Moreover, it comes with built-in support for some of the most popular WordPress plugins.

  • bbPress
  • BuddyPress
  • Easy Digital Downloads
  • qTranslate X
  • Pods
  • Polylang
  • TranslatePress
  • Transposh Translation Filter
  • WooCommerce
  • WPML


[restrict level="platinum"]
This content can only be seen by users with Platinum level or above.

[restrict level="!platinum"]
This content can only be seen by users without Platinum level or above.

[restrict role="editor,contributor" page="1"]
This content can only be seen by editors and contributors.
Other users will see content from page with ID 1.


Developer API

rua_get_user($user_id): RUA_User_Interface;
rua_get_level_by_name(string $name): WP_Post;

RUA_User_Interface {
    get_id(): int;
    get_attribute(string $name, mixed $default_value = null): mixed;
    has_global_access(): bool;
    level_memberships(): RUA_User_Level_Interface[];
    get_level_ids(): int[];
    add_level(int $level_id): bool;
    remove_level(int $level_id): bool;
    has_level(int $level): bool;

RUA_User_Level_Interface {
    get_user_id(): int;
    user(): RUA_User_Interface;
    get_level_id(): int;
    get_level_extend_ids(): int[];
    level(): RUA_Level_Interface;
    get_status(): string;
    get_start(): int;
    get_expiry(): int;
    is_active(): bool;

More Information


  • Simple Access Levels Overview
  • Easy-to-use Access Conditions
  • Capability Manager for Access Level


  1. Upload the full plugin directory to your /wp-content/plugins/ directory or install the plugin through Plugins in the administration
  2. Activate the plugin through Plugins in the administration
  3. Have fun creating your first Access Level under the menu User Access > Add New


How do I prevent admin lockout?

Restrict User Access has built-in lockout prevention. All administrators will by default have access to all content regardless of the Access Levels you create.

If the plugin is deactivated, any restricted content will become accessible to everyone again; Restrict User Access does not permanently alter Roles or Capabilities in any way.

How do I restrict some content?

  1. Go to User Access > Add New
  2. Click on the “New condition group” dropdown to add a condition
  3. Click on the created input field and select the content you want to restrict
  4. Go to the Members tab to add users who should have access the restricted content
  5. Go to the Options tab to set the Non-Member Action and other options
  6. Give your new level a descriptive title and save it

In order to restrict a context, e.g. “All Posts with Category X”, simply select a new type of content from the dropdown below the AND label and repeat Step 3.

You can choose to negate conditions, meaning that if you negate the group “All posts with Category X”, the level will get exclusive access to all content but that.

I added a Level to a user, but it can still see other content?

When you create an Access Level to restrict some content, only users with this level will be able to see that content.

An Access Level has two Default Access modes that can be changed from the Options tab:

  1. All unrestricted content (default): Members can also access all content that has not been restricted by other levels
  2. Restricted content only: Members can only access the content that has been restricted for this level

To prevent lockout, Administrators will have access to all content regardless of your levels.

Restricted content is still being displayed on archive pages or in widgets?

Restrict User Access does currently not support hiding single items from archive pages, search results, widgets or custom lists.

It is recommended only to show titles and excerpts in these cases.

Restricted file is still accessible with deep link?

Restrict User Access does currently not support restricting deep links to files, only attachment urls.

User still able to edit restricted content in Admin Dashboard?

Capabilities and Access Conditions serve different purposes and are not combined. Access Conditions are applied only to the frontend, while capabilities work throughout the site (both Admin Dashboard and frontend).

I have other questions, can you help?

Of course! Check out the links below:


སྤྱི་ཟླ་གསུམ་པ། 15, 2021
Best plugin in this category, and I have tested many of them. This one does exactly what it promises. No hassle, simple and easy to set up Works incredibly fantastic Fantastic plugin, thanks for that.
སྤྱི་ཟླ་གསུམ་པ། 14, 2021
I am looking for you guys to team up with me for various ideas that i have to make a plugin. For now i was looking for someone who can make a plugin that can limit premium users to access the webiste (time limit) and also to limit the number of pages access by the premium user. i am waiting for some to make a plugin like this..
སྤྱི་ཟླ་བཅུ་གཅིག་པ། 20, 2020
This is what I consider a simple plugin easy to use and functional and also flexible. I hope the author keeps developing other add-ons to extend functionalities.
སྤྱི་ཟླ་བརྒྱད་པ། 31, 2020
Es el único plugin (free) que permite restringir de todas las categorías posibles, una en particular para clientes específicos y no para el resto de usuarios no logeados. 10 de 10.
Read all 78 reviews

Contributors & Developers

“Restrict User Access – Membership Plugin with Force” is open source software. The following people have contributed to this plugin.


“Restrict User Access – Membership Plugin with Force” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “Restrict User Access – Membership Plugin with Force” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


Follow development and see all changes on GitHub



  • [new] wordpress 5.6 support
  • [updated] wp-content-aware-engine library
  • [updated] freemius sdk


  • [new] identical taxonomy names are now displayed with their post type
  • [fixed] error when attempting to add member to non-existing level
  • [fixed] non-member redirection for custom links
  • [fixed] taxonomy and attachment condition suggestions would not display all results


  • [fixed] users could not be added to levels, regression from v2.1


  • [new] intelligent search by id in post type condition
  • [new] intelligent search by id, email in author condition
  • [new] ui and performance improvements
  • [new] wordpress 5.5 support
  • [new] restrict shortcode supports multiple levels
  • [new] restrict shortcode drip_days parameter
  • [new] RUA_User_Level_Interface and RUA_Level_Interface interfaces
  • [updated] wp-content-aware-engine library
  • [updated] freemius sdk
  • [updated] RUA_User_Interface interface
  • [updated] improved non-member redirection
  • [fixed] condition option to auto-select new children


  • [new] default access option to lockdown levels
  • [new] exception conditions
  • [new] ability to unset capabilities on extended levels
  • [new] level manager shows inherited capabilities
  • [new] compatibility with wooselect
  • [updated] optimized and reduced plugin size with 26%
  • [updated] improved non-member redirection
  • [fixed] nav menu editor in wp5.4+ showing duplicate level options
  • [fixed] level member list would in some cases always redirect to page 1
  • [deprecated] negated conditions
  • [deprecated] simple date archive condition


  • [new] translatepress access condition
  • [new] wordpress 5.4 support
  • [new] minimum wordpress version 4.8
  • [updated] wp-content-aware-engine library
  • [updated] freemius sdk


  • [fixed] condition type cache would in some cases be primed with bad data
  • [fixed] edge case where negated conditions would be ignored


  • [new] condition type cache for improved performance
  • [new] categories and search in dropdown for access condition types
  • [new] filter to modify [restrict] shortcode
  • [new] filter to disable nav menu restrictions
  • [new] wordpress 5.3 support
  • [new] minimum wordpress version 4.6
  • [updated] ui improvements
  • [updated] wp-content-aware-engine library
  • [updated] wp-db-updater library
  • [updated] freemius sdk

See changelog.txt for previous changes.