Restrict User Access – Membership & Content Protection


Restrict User Access is a fast and simple Membership Plugin for WordPress. Restrict your content in minutes, NOT hours.

Quickly set up a paid membership site where your users can get different levels such as Platinum, Gold, or Free. Then, grant those levels when a user purchases a product in WooCommerce.

👥 Unlimited Access Levels

Users can have multiple levels, and you control how long memberships should last. When unauthorized users try to access restricted content, you can redirect them to another URL or display a teaser.

⚡ Level Membership Automations

Automatically add levels to your users based on something they do (Triggers) or something they are (Traits):

  • Product Purchases (WooCommerce, Easy Digital Downloads)
  • User Roles
  • Logged-in or Guests
  • BuddyPress Member Types

🔒 Contextual Content Protection

Restrict access to your posts, pages, or categories. You can even combine the conditions: protect all posts tagged ”Premium” written by a select author.

The following Access Conditions are available out of the box:

  • Posts, Pages & Custom Post Types
  • Content with Tags, Categories, or Custom Taxonomies
  • Content written by select Authors
  • Sidmallar
  • Blog Page & Post Type Archives
  • Författar-arkiv
  • Taxonomy Archives
  • Front Page, Search Results, 404 Not Found Page
  • bbPress Profiles, Forums & Topics
  • BuddyPress Profile Sections
  • Languages (Polylang, qTranslate X, TranslatePress, Transposh, Weglot, WPML)
  • Pods Pages

✅ Grant & Deny Capabilities

The easy-to-use WordPress User Manager gives you full control over the capabilities the members should or shouldn’t have. Access Level Capabilities will override the permissions set by roles or other plugins.

⚙️ Hide Widget Areas & Nav Menus

Completely hide navigation menu items or Widget Areas created with Content Aware Sidebars from users without select level memberships.

🤖 Restrict Content from Other Plugins

Restrict User Access autodetects Custom Post Types and Taxonomies created by any plugin or theme. Built-in support for some of the most popular WordPress plugins means that you e.g. can restrict access to bbPress forums or multilingual content.

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

📑 Restrict Content with Shortcodes

Fine-tune content visibility in your posts or pages by adding simple shortcodes:

[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-friendly API

Restrict User Access makes it super easy for developers to programmatically customize WordPress access control by adding a few lines of code to theme templates.

Example – Add level to current user


Example – Check if current user has an active level membership

if(rua_get_user()->has_level($level_id)) {
    //show restricted content
} else {
    //show content if unauthorized

View full documentation


  • 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

Vanliga frågor

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.

I added a level to a user, but it can still access other content?

When you create an Access Level to restrict some content, only members of this level will be able to access that content, but they can still access other content too.

You can change this behavior from the Options tab by toggling ”Deny Access to Unprotected Content” to ON.

With this option enabled, members can only access the content that has been restricted to 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?

By default, Restrict User Access will not hide single items from archive pages, search results, widgets or custom lists.

This is possible with the Visibility Control add-on

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:


19 januari 2023
It doesnt look like yours does this either so correct me if Im wrong...but how have you and no one else that I can find not made one thats blocks the customer list on the backend so SEO agencies and marketers on peoples site cant steal customer lists...come on. Please lmk if you add this or if I missed that your plugin has this feature.
4 juli 2022
I installed this plugin to test some features and it didn't had what I was looking for. After some tests, I tried to uninstall it, but now I can't access any pages, can't create any new posts, pages or categories. My site is now useless, I will need to reinstall it fresh from the beginning and will loose a week of work. DON'T INSTALL IT because it doesn't undo things if you need to remove it.
6 januari 2022
Not bad, if it possible in future to give user access automatic, when he have published post.
Läs alla 89 betyg

Bidragsgivare och utvecklare

”Restrict User Access – Membership & Content Protection” är programvara med öppen källkod. Följande personer har bidragit till detta tillägg.

Bidragande personer

”Restrict User Access – Membership & Content Protection” har översatts till 8 språk. Tack till översättarna för deras bidrag.

Översätt ”Restrict User Access – Membership & Content Protection” till ditt språk.

Intresserad av programutveckling?

Läs programkoden, kika på SVN-filförvaret eller prenumerera på utvecklarloggen via RSS.


Follow development and see all changes on GitHub



  • [new] wordpress 6.2 support
  • [updated] freemius sdk


  • [new] api to update user level start, expiry, status
  • [new] ui improvements
  • [updated] freemius sdk
  • [removed] deprecated php api methods: rua_get_user_roles, rua_get_user_levels, rua_get_user_level_start, rua_get_user_level_expiry, rua_is_user_level_expired, rua_has_user_level, rua_add_user_level, rua_remove_user_level


  • [new] wordpress 6.1 support
  • [new] ui improvements
  • [fixed] user role trait would in some cases not work for extended levels
  • [updated] wp-content-aware-engine library


  • [new] member trigger – easy digital downloads purchase
  • [new] member trait – buddypress member type
  • [new] member trait – user role (supersedes user role sync)
  • [new] auto-complete searching for member automations
  • [new] ui and performance improvements
  • [updated] wp-content-aware-engine library


  • [fixed] conflict with ultimate member plugin and some multisite installations (regression from 2.3.1)


  • [new] polylang support for non-member action. props @erpiu
  • [new] wordpress 6.0 support
  • [fixed] levels would in some cases store empty capabilities
  • [updated] wp-content-aware-engine library


  • [new] admin toolbar menu to view conditions and allowed levels for a given page
  • [new] level option to restrict admin area access
  • [new] users can only manage capabilities they have themselves
  • [new] weglot access condition
  • [new] display traits and triggers in level overview
  • [new] ui and performance improvements
  • [updated] wp-content-aware-engine library
  • [updated] freemius sdk
  • [fixed] members bulk action not working on recent wp versions
  • [fixed] tease action could display duplicate content


  • [fixed] fatal error in automator processor (regression from 2.2.2)


  • [new] wordpress 5.9 support
  • [updated] option to fully use role synchronization again
  • [updated] freemius sdk


  • [fixed] nav menu editor not accessible (regression from 2.2)
  • [fixed] in some cases all pages became restricted due to changes in taxonomy condition (regression from 2.2)
  • [fixed] some sites with modsecurity enabled could not add/edit levels due to a false positive by the waf


  • [new] membership automations – add user levels from role change, login state, woocommerce purchase
  • [new] taxonomy condition added to cache system (all condition types supported now)
  • [new] ui and performance improvements
  • [new] wordpress 5.8 support
  • [new] minimum wordpress version 5.0
  • [updated] simplified ”default access” option to ”can access unrestricted content”
  • [updated] level management now uses ”list_users” and ”promote_users” capabilites
  • [updated] wp-content-aware-engine library
  • [updated] freemius sdk
  • [fixed] multiple taxonomy conditions now use AND properly on singular pages (long-standing bug)
  • [fixed] restrict shortcode with negation would not work for users with no levels
  • [fixed] tease option does not support archive pages, fallback to redirect
  • [deprecated] user role synchronizations in favor of automations


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

See changelog.txt for previous changes.