{"id":35086,"date":"2015-03-16T08:22:58","date_gmt":"2015-03-16T08:22:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/restrict-user-access\/"},"modified":"2025-10-06T06:48:32","modified_gmt":"2025-10-06T06:48:32","slug":"restrict-user-access","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/restrict-user-access\/","author":6422329,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.8","stable_tag":"2.8","tested":"6.8.5","requires":"5.8","requires_php":"7.2","requires_plugins":null,"header_name":"Restrict User Access","header_author":"DEV Institute","header_description":"","assets_banners_color":"1e523e","last_updated":"2025-10-06 06:48:32","external_support_url":"","external_repository_url":"","donate_link":"#","header_plugin_uri":"https:\/\/dev.institute\/wordpress-memberships\/","header_author_uri":"https:\/\/dev.institute","rating":4.3,"author_block_rating":0,"active_installs":10000,"downloads":619737,"num_ratings":95,"support_threads":2,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3":{"tag":"1.3","author":"intoxstudio","date":"2020-05-29 05:00:18"},"2.0":{"tag":"2.0","author":"intoxstudio","date":"2020-05-29 05:05:59"},"2.1.3":{"tag":"2.1.3","author":"intoxstudio","date":"2021-08-12 03:30:49"},"2.2.3":{"tag":"2.2.3","author":"intoxstudio","date":"2022-03-03 19:36:04"},"2.3.2":{"tag":"2.3.2","author":"intoxstudio","date":"2022-05-24 02:28:01"},"2.4":{"tag":"2.4","author":"intoxstudio","date":"2022-09-03 09:07:00"},"2.4.1":{"tag":"2.4.1","author":"intoxstudio","date":"2022-11-09 05:10:51"},"2.4.2":{"tag":"2.4.2","author":"intoxstudio","date":"2023-07-04 19:43:14"},"2.4.3":{"tag":"2.4.3","author":"intoxstudio","date":"2023-07-04 19:43:14"},"2.5":{"tag":"2.5","author":"intoxstudio","date":"2023-12-16 03:19:57"},"2.6":{"tag":"2.6","author":"intoxstudio","date":"2024-02-19 10:00:26"},"2.6.1":{"tag":"2.6.1","author":"intoxstudio","date":"2024-05-18 08:55:15"},"2.7":{"tag":"2.7","author":"intoxstudio","date":"2024-11-13 02:08:54"},"2.7.1":{"tag":"2.7.1","author":"intoxstudio","date":"2025-01-27 05:51:25"},"2.8":{"tag":"2.8","author":"intoxstudio","date":"2025-10-06 06:48:32"}},"upgrade_notice":{"":"<p>Plugin data will be updated automatically. It is strongly recommended to take a backup of your site.<\/p>"},"ratings":{"1":11,"2":5,"3":2,"4":7,"5":70},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1815922,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1815922,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":1815922,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":1815922,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3","2.0","2.1.3","2.2.3","2.3.2","2.4","2.4.1","2.4.2","2.4.3","2.5","2.6","2.6.1","2.7","2.7.1","2.8"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2314149,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2314149,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2314149,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Simple Access Levels Overview","2":"Easy-to-use Access Conditions","3":"Capability Manager for Access Level"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1912,2770,1913,16114,1932],"plugin_category":[38,44,58],"plugin_contributors":[78633,78154,78632,84621],"plugin_business_model":[],"class_list":["post-35086","plugin","type-plugin","status-publish","hentry","plugin_tags-access-control","plugin_tags-bbpress","plugin_tags-capabilities","plugin_tags-content-restriction","plugin_tags-membership","plugin_category-authentication","plugin_category-discussion-and-community","plugin_category-user-management","plugin_contributors-devinstitute","plugin_contributors-freemius","plugin_contributors-intoxstudio","plugin_contributors-keraweb","plugin_committers-intoxstudio"],"banners":{"banner":"https:\/\/ps.w.org\/restrict-user-access\/assets\/banner-772x250.png?rev=1815922","banner_2x":"https:\/\/ps.w.org\/restrict-user-access\/assets\/banner-1544x500.png?rev=1815922","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/restrict-user-access\/assets\/icon-128x128.png?rev=1815922","icon_2x":"https:\/\/ps.w.org\/restrict-user-access\/assets\/icon-256x256.png?rev=1815922","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/restrict-user-access\/assets\/screenshot-1.png?rev=2314149","caption":"Simple Access Levels Overview"},{"src":"https:\/\/ps.w.org\/restrict-user-access\/assets\/screenshot-2.png?rev=2314149","caption":"Easy-to-use Access Conditions"},{"src":"https:\/\/ps.w.org\/restrict-user-access\/assets\/screenshot-3.png?rev=2314149","caption":"Capability Manager for Access Level"}],"raw_content":"<!--section=description-->\n<p><strong>Restrict User Access is a fast and simple Membership Plugin for WordPress. Restrict your content in minutes, NOT hours.<\/strong><\/p>\n\n<p>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.<\/p>\n\n<h3>\ud83d\udc65 Unlimited Access Levels<\/h3>\n\n<p>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.<\/p>\n\n<h3>\u26a1 Level Membership Automations<\/h3>\n\n<p>Automatically add levels to your users based on something they do (Triggers) or something they are (Traits):<\/p>\n\n<ul>\n<li>User Registration<\/li>\n<li>User Roles<\/li>\n<li>Logged-in or Guests<\/li>\n<li>WooCommerce Purchases<\/li>\n<li>Easy Digital Downloads Purchases<\/li>\n<li>BuddyPress Member Types<\/li>\n<li>GiveWP Donations<\/li>\n<\/ul>\n\n<h3>\ud83d\udd12 Contextual Content Protection<\/h3>\n\n<p>Prevent unauthorized users from visiting your posts, pages, or categories. You can even combine the conditions: protect all posts tagged \"Premium\" written by a select author.<\/p>\n\n<p>The following Access Conditions are available out of the box:<\/p>\n\n<ul>\n<li>Posts, Pages &amp; Custom Post Types<\/li>\n<li>Content with Tags, Categories, or Custom Taxonomies<\/li>\n<li>Content written by select Authors<\/li>\n<li>Page Templates<\/li>\n<li>Blog Page &amp; Post Type Archives<\/li>\n<li>Author Archives<\/li>\n<li>Taxonomy Archives<\/li>\n<li>Front Page, Search Results, 404 Not Found Page<\/li>\n<li>bbPress Profiles, Forums &amp; Topics<\/li>\n<li>BuddyPress Profile Sections<\/li>\n<li>Languages (Polylang, qTranslate X, TranslatePress, Transposh, Weglot, WPML)<\/li>\n<li>Pods Pages<\/li>\n<\/ul>\n\n<p>Note that Access Conditions do not apply to content displayed in lists.<\/p>\n\n<h3>\u2705 Grant &amp; Deny Capabilities<\/h3>\n\n<p>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.<\/p>\n\n<h3>\ud83d\udc41\ufe0f Hide Admin Bar &amp; Nav Menu Visibility<\/h3>\n\n<p>Disable the admin bar for select levels and control what menu items members can see. You can even hide any widget area created with <a href=\"https:\/\/dev.institute\/wordpress-sidebars\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=section&amp;utm_campaign=rua\">Content Aware Sidebars<\/a><\/p>\n\n<h3>\ud83e\udd16 Restrict Content from Other Plugins<\/h3>\n\n<p>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.<\/p>\n\n<ul>\n<li>bbPress<\/li>\n<li>BuddyPress<\/li>\n<li>Easy Digital Downloads<\/li>\n<li>Pods<\/li>\n<li>Polylang<\/li>\n<li>TranslatePress<\/li>\n<li>WooCommerce<\/li>\n<li>Weglot<\/li>\n<li>WPML<\/li>\n<li>and more ...<\/li>\n<\/ul>\n\n<h3>\ud83d\udee1\ufe0f WordPress Security Enhancements<\/h3>\n\n<ul>\n<li><strong>WP REST API Content Protection<\/strong>\nEnforces PoLA to minimize attack surfaces and stop threat actors from harvesting your data<\/li>\n<li><strong>How to display content in lists<\/strong>\nDisplay excerpts only or hide content when post types are displayed in blog, archives, search results, lists, etc.<\/li>\n<\/ul>\n\n<h3>\ud83d\udcd1 Restrict Content with Shortcodes<\/h3>\n\n<p>Fine-tune content visibility in your posts or pages by adding simple shortcodes:<\/p>\n\n<pre><code>[restrict level=\"platinum\"]\nThis content can only be seen by users with Platinum level or above.\n[\/restrict]\n\n[restrict level=\"!platinum\"]\nThis content can only be seen by users without Platinum level or above.\n[\/restrict]\n\n[restrict role=\"editor,contributor\" page=\"1\"]\nThis content can only be seen by editors and contributors.\nOther users will see content from page with ID 1.\n[\/restrict]\n\n[login-form]\n<\/code><\/pre>\n\n<h3>\ud83d\udc4b Developer-friendly API<\/h3>\n\n<p>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.<\/p>\n\n<h4>Example - Add level to current user<\/h4>\n\n<pre><code>rua_get_user()-&gt;add_level($level_id);\n<\/code><\/pre>\n\n<h4>Example - Check if current user has an active level membership<\/h4>\n\n<pre><code>if(rua_get_user()-&gt;has_level($level_id)) {\n    \/\/show restricted content\n} else {\n    \/\/show content if unauthorized\n}\n<\/code><\/pre>\n\n<p><a href=\"https:\/\/dev.institute\/docs\/restrict-user-access\/developer-api\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=section&amp;utm_campaign=rua\">View full RUA PHP API documentation here.<\/a><\/p>\n\n<h3>\ud83c\udf9b\ufe0f Premium Add-ons for Restrict User Access<\/h3>\n\n<p>Complete your WordPress membership site with these powerful extensions<\/p>\n\n<ul>\n<li><strong><a href=\"https:\/\/dev.institute\/products\/category\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=acf&amp;utm_campaign=rua\">ACF Restriction<\/a><\/strong>\nRestrict content that contain data from Advanced Custom Fields plugin<\/li>\n<li><strong><a href=\"https:\/\/dev.institute\/products\/category\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=date&amp;utm_campaign=rua\">Date Restriction<\/a><\/strong>\nRestrict content based on the time it was published<\/li>\n<li><strong><a href=\"https:\/\/dev.institute\/products\/category\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=metabox&amp;utm_campaign=rua\">Meta Box Restriction<\/a><\/strong>\nRestrict content that contain data from Meta Box plugin<\/li>\n<li><strong><a href=\"https:\/\/dev.institute\/products\/category\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=timelock&amp;utm_campaign=rua\">Timelock<\/a><\/strong>\nDetermine when to enable or disable select Access Conditions<\/li>\n<li><strong><a href=\"https:\/\/dev.institute\/products\/category\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=url&amp;utm_campaign=rua\">URL Restriction<\/a><\/strong>\nRestrict content based on the WordPress URL, with wildcard support<\/li>\n<li><strong><a href=\"https:\/\/dev.institute\/products\/category\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=visibility&amp;utm_campaign=rua\">Visibility Control<\/a><\/strong>\nHide content from blog, search results, archives, custom lists, WP REST API, and more<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the full plugin directory to your <code>\/wp-content\/plugins\/<\/code> directory or install the plugin through <code>Plugins<\/code> in the administration<\/li>\n<li>Activate the plugin through <code>Plugins<\/code> in the administration<\/li>\n<li>Have fun creating your first Access Level under the menu <em>User Access &gt; Add New<\/em><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20prevent%20admin%20lockout%3F'><h3>How do I prevent admin lockout?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p>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.<\/p><\/dd>\n<dt id='how%20do%20i%20restrict%20some%20content%3F'><h3>How do I restrict some content?<\/h3><\/dt>\n<dd><ol>\n<li>Go to User Access &gt; Add New<\/li>\n<li>Click on the \"New condition group\" dropdown to add a condition<\/li>\n<li>Click on the created input field and select the content you want to restrict<\/li>\n<li>Go to the Members tab to add users who should have access the restricted content<\/li>\n<li>Go to the Options tab to set the Non-Member Action and other options<\/li>\n<li>Give your new level a descriptive title and save it<\/li>\n<\/ol>\n\n<p><strong>Tips<\/strong>\nIn order to restrict a context, e.g. \"All Posts with Category X\", simply select a new type of content from the dropdown below the <strong>AND<\/strong> label and repeat Step 3.<\/p><\/dd>\n<dt id='i%20added%20a%20level%20to%20a%20user%2C%20but%20it%20can%20still%20access%20other%20content%3F'><h3>I added a level to a user, but it can still access other content?<\/h3><\/dt>\n<dd><p>When you use Access Conditions to restrict some pages, only members of this level will be able to visit those pages, but they can still visit other pages too.<\/p>\n\n<p>You can change this behavior from the Options tab by toggling \"Deny Access to Unprotected Content\" to ON.<\/p>\n\n<p>With this option enabled, members can only visit the pages selected as Access Conditions.<\/p>\n\n<p>To prevent lockout, Administrators will have access to all content regardless of your levels.<\/p><\/dd>\n<dt id='restricted%20content%20is%20still%20displayed%20in%20blog%2C%20archives%2C%20search%20results%2C%20etc%3F'><h3>Restricted content is still displayed in blog, archives, search results, etc?<\/h3><\/dt>\n<dd><p>By default, Access Conditions do not apply to items in archive pages, search results, widgets, WP REST API, or custom lists.<\/p>\n\n<p><a href=\"https:\/\/dev.institute\/docs\/restrict-user-access\/faq\/restricted-content-not-hidden\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=faq&amp;utm_campaign=rua\">Learn more about how to completely hide content here.<\/a><\/p><\/dd>\n<dt id='restricted%20file%20is%20still%20accessible%20with%20deep%20link%3F'><h3>Restricted file is still accessible with deep link?<\/h3><\/dt>\n<dd><p>Restrict User Access does currently not support restricting deep links to files, only attachment urls.<\/p><\/dd>\n<dt id='user%20still%20able%20to%20edit%20restricted%20content%20in%20admin%20dashboard%3F'><h3>User still able to edit restricted content in Admin Dashboard?<\/h3><\/dt>\n<dd><p>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).<\/p><\/dd>\n<dt id='how%20can%20i%20report%20security%20bugs%3F'><h3>How can I report security bugs?<\/h3><\/dt>\n<dd><p>You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. <a href=\"https:\/\/patchstack.com\/database\/vdp\/restrict-user-access\">Report a security vulnerability.<\/a><\/p><\/dd>\n<dt id='i%20have%20other%20questions%2C%20can%20you%20help%3F'><h3>I have other questions, can you help?<\/h3><\/dt>\n<dd><p>Of course! Check out the links below:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/dev.institute\/docs\/restrict-user-access\/getting-started\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=faq&amp;utm_campaign=rua\">Getting Started with Restrict User Access<\/a><\/li>\n<li><a href=\"https:\/\/dev.institute\/docs\/restrict-user-access\/?utm_source=readme&amp;utm_medium=referral&amp;utm_content=faq&amp;utm_campaign=rua\">Documentation and FAQ<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/plugin\/restrict-user-access\">Support Forums<\/a><\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p><a href=\"https:\/\/github.com\/intoxstudio\/restrict-user-access\">Follow development and see all changes on GitHub<\/a><\/p>\n\n<h4>Highlights<\/h4>\n\n<h4>2.8<\/h4>\n\n<ul>\n<li>[new] member trigger - user registration<\/li>\n<li>[new] handle login redirect for non-admin access<\/li>\n<li>[new] performance and ui improvements<\/li>\n<li>[new] wordpress 6.8 support<\/li>\n<li>[new] minimum wordpress version 5.8<\/li>\n<li>[new] minimum php version 7.2<\/li>\n<li>[updated] freemius sdk<\/li>\n<li>[updated] wp-content-aware-engine library<\/li>\n<li>[fixed] prevent other plugins from erroneously manipulating membership queries<\/li>\n<\/ul>\n\n<h4>2.7.1<\/h4>\n\n<ul>\n<li>[new] performance improvements<\/li>\n<\/ul>\n\n<h4>2.7<\/h4>\n\n<ul>\n<li>[new] ui and performance improvements<\/li>\n<li>[new] wordpress 6.5 support<\/li>\n<li>[new] minimum wordpress version 5.5<\/li>\n<li>[new] minimum php version 7.1<\/li>\n<li>[fixed] memberships now removed on user deletion<\/li>\n<li>[fixed] improved compatibility with wpml plugin<\/li>\n<li>[updated] wp-content-aware-engine library<\/li>\n<li>[updated] freemius sdk<\/li>\n<\/ul>\n\n<h4>2.6.1<\/h4>\n\n<ul>\n<li>[new] ui and performance improvements<\/li>\n<li>[updated] freemius sdk<\/li>\n<li>[fixed] timezone discrepancies in level memberships<\/li>\n<li>[fixed] conflict with other plugins erroneously manipulating membership queries<\/li>\n<\/ul>\n\n<h4>2.6<\/h4>\n\n<ul>\n<li>[new] rest api content protection<\/li>\n<li>[new] control how content is displayed in lists<\/li>\n<li>[updated] buddypress 12 compatibility<\/li>\n<li>[fixed] compatibility with polylang and wpml<\/li>\n<li>[fixed] xss vulnerability when editing levels<\/li>\n<\/ul>\n\n<h4>2.5<\/h4>\n\n<ul>\n<li>[new] admin ability to extend, search, and sort memberships<\/li>\n<li>[new] member trigger - givewp donation<\/li>\n<li>[new] wp multisite network support<\/li>\n<li>[new] greatly improved membership data storage<\/li>\n<li>[new] wordpress 6.4 support<\/li>\n<li>[new] minimum wordpress version 5.1<\/li>\n<li>[new] minimum php version 7.0<\/li>\n<li>[new] ui and performance improvements<\/li>\n<li>[updated] wp-content-aware-engine library<\/li>\n<li>[updated] freemius sdk<\/li>\n<\/ul>\n\n<p>See changelog.txt for previous changes.<\/p>","raw_excerpt":"Create Access Levels and restrict any post, page, category, etc. Supports bbPress, BuddyPress, WooCommerce, WPML, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/35086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=35086"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/intoxstudio"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=35086"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=35086"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=35086"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=35086"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=35086"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=35086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}