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
  • Plantillas
  • Post Type Archives
  • Archivos de Autor
  • (Custom) Taxonomy Archives
  • Resultados de búsqueda
  • 404 Not Found Page
  • Página principal
  • Página del blog
  • Perfiles de usuario de bbPress
  • BuddyPress Member Pages
  • Idiomas (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;

Más información


  • 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:


22 de julio de 2020
I'm trying to give access to content on a page for users who login. So, I added a login form to the page. When a user enters his name/password, he can see the protected content. So far, so good. However, the login form (above the protected content) remains visible after the user has logged in. This is very distracting; the user gets the impression he has to log in again (and again and again). Is there a way to hide the login form after a user has logged in?
13 de junio de 2020
I've tried for ages to get this working, but I've given up. All I wanted was a way to restrict access to some pages to a set of logged-in users only. It seemed like this plugin would do it, but I didn't find the documentation very helpful as it doesn't seem to have been updated recently. It always seemed to be restricting access rather than enabling it. Anyway, I found a much simpler plugin that seems to do the job, so I've uninstalled this one, sadly.
Leer todas las 76 reseñas

Colaboradores y desarrolladores

«Restrict User Access – Membership Plugin with Force» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


«Restrict User Access – Membership Plugin with Force» ha sido traducido a 6 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce «Restrict User Access – Membership Plugin with Force» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

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.