[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fRx8NyguybAVujuSIFj-p1CHSE3Qg_617sJ2i1IgFMzg":3,"$fbYdVLFE9LGlSQsDReCSAA8N4sEDQ4u7V2b4PKpM6lTc":276,"$fnwezNc6Dz4vZiP_QiFiNHMMXjTbQQHAzd_EGAD0CD4U":281},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":20,"download_link":21,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24,"discovery_status":25,"vulnerabilities":26,"developer":27,"crawl_stats":23,"alternatives":35,"analysis":135,"fingerprints":227},"contentgate","ContentGate – Content Restriction & Access Control by Login Status & User Role","1.0.1","ThemeGrill","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemegrill\u002F","\u003Cp>Restrict content on your WordPress website with simple, rule-based access control.\u003C\u002Fp>\n\u003Cp>ContentGate lets you control who can view your content based on login status and user roles. Whether you want to hide pages from non-logged-in users, limit access by role, or protect specific posts, ContentGate makes it easy to create clear rules and apply them instantly.\u003C\u002Fp>\n\u003Cp>Set conditions once and control content visibility across your site without complex setup.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Ch3>Rule-Based Content Restriction\u003C\u002Fh3>\n\u003Cp>Content Restriction based on:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Login Status\u003C\u002Fstrong> (Logged in vs logged out users)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WordPress user roles\u003C\u002Fstrong> (Administrator, Editor, Author, etc.)\u003C\u002Fli>\n\u003Cli>Combined conditions using AND logic\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Create rules using a simple IF \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> THEN logic. Some examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>IF user is “Logged In” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> access page A, B and C (logged out user cannot access A, B and C)\u003C\u002Fli>\n\u003Cli>IF user role is “subscriber” or “editor” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> can access page A, B and C (Contributor cannot access pages)\u003C\u002Fli>\n\u003Cli>IF user is “Logged In” and role is “Author” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> can access page A, B and C (Others will see content restriction message)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Apply Rules to Your Content\u003C\u002Fh3>\n\u003Cp>Control access for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Entire website\u003C\u002Fli>\n\u003Cli>Specific pages\u003C\u002Fli>\n\u003Cli>Individual posts\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Global Restriction Message\u003C\u002Fh3>\n\u003Cp>Display a consistent message when unauthorized user tries accessing your restricted content:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Show custom instructions\u003C\u002Fli>\n\u003Cli>Prompt users to log in\u003C\u002Fli>\n\u003Cli>Use smart tags for dynamic content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This helps users understand why content is hidden and what they need to do next, reducing confusion and improving overall experience.\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Cp>ContentGate uses a simple rule system:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create a rule\u003C\u002Fli>\n\u003Cli>Set conditions (login status, user role, or both)\u003C\u002Fli>\n\u003Cli>Choose content to restrict\u003C\u002Fli>\n\u003Cli>Save and apply\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Content visibility updates automatically based on your rules.\u003C\u002Fp>\n\u003Ch3>Easy Rule Management\u003C\u002Fh3>\n\u003Cp>Create and manage your content restriction rules without complexity:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add, update, or delete rules anytime\u003C\u002Fli>\n\u003Cli>Supports up to 3 active rules (unlimited in Pro)\u003C\u002Fli>\n\u003Cli>Clean interface focused on quick setup\u003C\u002Fli>\n\u003Cli>No coding or technical setup required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Designed to keep content restriction simple while giving you just enough control for common use cases.\u003C\u002Fp>\n\u003Ch3>What You Can Do with ContentGate\u003C\u002Fh3>\n\u003Cp>ContentGate is designed for focused content restriction use cases:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create a Login Requirement\u003C\u002Fstrong>: Require users to log in before accessing your content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restrict Content by Role\u003C\u002Fstrong>: Control which user roles can view specific content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Protect Selected Content\u003C\u002Fstrong>: Restrict access to specific pages or posts without affecting the entire site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restrict Your Entire Website\u003C\u002Fstrong>: Make your whole website accessible only to selected users or logged-in visitors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Combine Conditions for Better Control:\u003C\u002Fstrong> Use AND logic to apply multiple conditions together:\n\u003Cul>\n\u003Cli>Logged in AND specific role\u003C\u002Fli>\n\u003Cli>Logged out AND restricted content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Who Is It For?\u003C\u002Fh3>\n\u003Cp>ContentGate is ideal for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Website owners who need simple content restriction\u003C\u002Fli>\n\u003Cli>Blogs that require login to view content\u003C\u002Fli>\n\u003Cli>Small websites with basic access control needs\u003C\u002Fli>\n\u003Cli>Private or internal websites\u003C\u002Fli>\n\u003Cli>Anyone looking for a lightweight restriction solution\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Content Restriction Matters\u003C\u002Fh3>\n\u003Cp>Without proper control, content can be accessed by anyone, which may not always be intended.\u003C\u002Fp>\n\u003Cp>ContentGate helps you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Control who can view your content\u003C\u002Fli>\n\u003Cli>Protect sensitive or limited-access pages\u003C\u002Fli>\n\u003Cli>Manage visibility with simple rules\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Built for WordPress\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Uses native WordPress roles and login system\u003C\u002Fli>\n\u003Cli>Works with existing pages and posts\u003C\u002Fli>\n\u003Cli>Lightweight and performance-friendly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Google Fonts\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>This plugin connects to Google Fonts to load typography for frontend display.\u003C\u002Fp>\n\u003Cp>It sends the user’s IP address to Google servers when fonts are requested. This request is made when a page containing the plugin is loaded.\u003C\u002Fp>\n\u003Cp>This service is provided by Google LLC:\u003Cbr \u002F>\n– Terms of Service: https:\u002F\u002Fpolicies.google.com\u002Fterms\u003Cbr \u002F>\n– Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fp>\n\u003Col>\n\u003Cli>SelectWoo\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>This plugin includes the SelectWoo library to enhance select box UI functionality.\u003C\u002Fp>\n\u003Cp>SelectWoo is bundled with the plugin and runs locally on the user’s browser. No data is sent to external servers.\u003C\u002Fp>\n\u003Cp>SelectWoo is an open-source library maintained by the WooCommerce team:\u003Cbr \u002F>\n– Source: https:\u002F\u002Fgithub.com\u002Fwoocommerce\u002FselectWoo\u003C\u002Fp>\n","Restrict content access on your WordPress site based on user roles or login status. Protect posts, pages, or even your entire site with ease.",0,133,"2026-04-09T11:47:00.000Z","6.9.4","5.5","7.4",[18,19],"access-control","content-restriction","https:\u002F\u002Fcontentgate.net\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontentgate.1.0.1.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":28,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":31,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"themegrill",32,251800,97,174,77,"2026-05-20T02:03:15.470Z",[36,59,82,100,118],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":16,"tags":51,"homepage":55,"download_link":56,"security_score":31,"vuln_count":57,"unpatched_count":11,"last_vuln_date":58,"fetched_at":24},"content-control","Content Control – The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More","2.6.5","Daniel Iser","https:\u002F\u002Fprofiles.wordpress.org\u002Fdanieliser\u002F","\u003Cp>Content Control is a transformative plugin, allowing you to fine-tune every aspect of your WordPress website’s content. Decide who gets to see what, where, and when – be it pages, posts, widgets, or individual block visibility using our handy shortcode. Your content, your rules, executed perfectly!\u003C\u002Fp>\n\u003Cp>Content Control is intuitive and powerful, designed for all users—whether logged in, holding specific roles, or even guests. Need top-tier content restriction or a dependable access manager for your site? Look no further. We’ve expanded our controls to include Gutenberg and Full Site Editor, giving you unmatched command.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>Discover what Content Control brings to your table:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Full control over your site’s content, restrict user access with ease!.\u003C\u002Fli>\n\u003Cli>Create a \u003Cstrong>Paid Membership\u003C\u002Fstrong> sites using your favorite or existing ecommerce plugins.\u003C\u002Fli>\n\u003Cli>Set up a seamless paywall for your content, providing teasers for users and prompting them to purchase access.\u003C\u002Fli>\n\u003Cli>Per block controls for Gutenberg and Full Site Editor, including user roles, device type, and more.\n\u003Cul>\n\u003Cli>Responsive block controls with customizable breakpoints.\u003C\u002Fli>\n\u003Cli>Control block visibility by user status, roles, device type & more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Restrict access to pages, posts, widgets, and individual blocks based on user status, roles, device type & more.\u003C\u002Fli>\n\u003Cli>Offer membership tools for crafting membership access and members-only content.\u003C\u002Fli>\n\u003Cli>Provide responsive block designs that adapt to varying device sizes.\u003C\u002Fli>\n\u003Cli>Lockdown content selectively for improved user experiences.\u003C\u002Fli>\n\u003Cli>Implement role-based redirections to guide users effectively.\u003C\u002Fli>\n\u003Cli>Unlock the power of subscription content and monetization strategies.\u003C\u002Fli>\n\u003Cli>Safeguard specific categories, tags, custom post types, and custom taxonomies.\u003C\u002Fli>\n\u003Cli>Manage access to \u003Ca href=\"https:\u002F\u002Fwww.hongkiat.com\u002Fblog\u002Fwordpress-attachment-pages\u002F\" rel=\"nofollow ugc\">media attachment pages\u003C\u002Fa> for logged in\u002Fout users or specific user roles.\u003C\u002Fli>\n\u003Cli>Display a custom message to users who do not have permission to view the content.\u003C\u002Fli>\n\u003Cli>Display specific content on a page or post to logged in users only, specific user roles, or logged out users.\u003C\u002Fli>\n\u003Cli>Redirect users without access permission to a login page, website homepage, or a custom URL.\u003C\u002Fli>\n\u003Cli>Highlight subscriber-only content for premium users.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[content_control]\u003C\u002Fcode> shortcode to protect content inline and cater to subscriber preferences.\u003C\u002Fli>\n\u003Cli>Control widget visibility by selecting the user type that can view each widget.\u003C\u002Fli>\n\u003Cli>Conditionally show coming soon or maintenance mode pages based on various rules.\u003C\u002Fli>\n\u003Cli>Restrict access to your site’s REST API endpoints.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcontentcontrolplugin.com\u002Fdocs\u002F?utm_campaign=plugin-info&utm_source=readme-description&utm_medium=wordpress&utm_content=documentation-link\" rel=\"nofollow ugc\">Content Control Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Pro Features\u003C\u002Fh4>\n\u003Cp>Content Control Pro, with advanced features like:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Content Teasers for Paywalls, giving your users a sneak peek, leaving them wanting more.\u003C\u002Fli>\n\u003Cli>Optimize your WooCommerce & Easy Digital Downloads (EDD) & Paid Memberships Pro experiences with advanced rules.\u003C\u002Fli>\n\u003Cli>Schedule blocks, controlling content visibility timings using customizable scheduling rules.\u003C\u002Fli>\n\u003Cli>Dive deeper with advanced block rules and a boolean editor.\u003C\u002Fli>\n\u003Cli>Customize login, registration & recovery page urls. Custom login urls give a more personalized user experience.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcontentcontrolplugin.com\u002Fpricing\u002F?utm_campaign=plugin-info&utm_source=readme-description&utm_medium=wordpress&utm_content=upgrade-link\" rel=\"nofollow ugc\">Upgrade to Content Control Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: Content Control handles media access via content on media attachment pages but won’t restrict direct server-level access to media files.\u003C\u002Fp>\n\u003Ch4>Passionately Crafted by Code Atlantic\u003C\u002Fh4>\n\u003Cp>At \u003Ca href=\"https:\u002F\u002Fcode-atlantic.com\" title=\"Code Atlantic - High Quality WordPress Plugins\" rel=\"nofollow ugc\">Code Atlantic\u003C\u002Fa>, we’re passionate about crafting tools that empower your digital journey. Content Control is a testament to our commitment to quality.\u003C\u002Fp>\n\u003Cp>Dive into some of our renowned plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwppopupmaker.com\" title=\"#1 Popup & Marketing Plugin for WordPress\" rel=\"nofollow ugc\">Popup Maker\u003C\u002Fa>\u003C\u002Fstrong> – The #1 Popup & Marketing Plugin for WordPress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuser-menus\u002F\" title=\"Show, Hide & Customize Menu Items For Different Users\" rel=\"ugc\">User Menus\u003C\u002Fa>\u003C\u002Fstrong> – Innovatively Show, Hide & Customize Menu Items\u003C\u002Fli>\n\u003C\u002Ful>\n","Restrict content based on login status, user roles, device type & more. Monetize your content with a paywall or members-only content.",40000,874416,98,575,"2025-05-27T08:57:00.000Z","6.8.5","6.2",[18,19,52,53,54],"maintenance-mode","members-only","membership","https:\u002F\u002Fcontentcontrolplugin.com\u002F?utm_campaign=plugin-info&utm_source=php-file-header&utm_medium=plugin-ui&utm_content=plugin-uri","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-control.2.6.5.zip",4,"2025-05-07 00:00:00",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":70,"last_updated":71,"tested_up_to":49,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":77,"download_link":78,"security_score":79,"vuln_count":80,"unpatched_count":11,"last_vuln_date":81,"fetched_at":24},"restrict-user-access","Restrict User Access – Ultimate Membership & Content Protection","2.8","Joachim Jensen","https:\u002F\u002Fprofiles.wordpress.org\u002Fintoxstudio\u002F","\u003Cp>\u003Cstrong>Restrict User Access is a fast and simple Membership Plugin for WordPress. Restrict your content in minutes, NOT hours.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>👥 Unlimited Access Levels\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>⚡ Level Membership Automations\u003C\u002Fh3>\n\u003Cp>Automatically add levels to your users based on something they do (Triggers) or something they are (Traits):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>User Registration\u003C\u002Fli>\n\u003Cli>User Roles\u003C\u002Fli>\n\u003Cli>Logged-in or Guests\u003C\u002Fli>\n\u003Cli>WooCommerce Purchases\u003C\u002Fli>\n\u003Cli>Easy Digital Downloads Purchases\u003C\u002Fli>\n\u003Cli>BuddyPress Member Types\u003C\u002Fli>\n\u003Cli>GiveWP Donations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔒 Contextual Content Protection\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>The following Access Conditions are available out of the box:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts, Pages & Custom Post Types\u003C\u002Fli>\n\u003Cli>Content with Tags, Categories, or Custom Taxonomies\u003C\u002Fli>\n\u003Cli>Content written by select Authors\u003C\u002Fli>\n\u003Cli>Page Templates\u003C\u002Fli>\n\u003Cli>Blog Page & Post Type Archives\u003C\u002Fli>\n\u003Cli>Author Archives\u003C\u002Fli>\n\u003Cli>Taxonomy Archives\u003C\u002Fli>\n\u003Cli>Front Page, Search Results, 404 Not Found Page\u003C\u002Fli>\n\u003Cli>bbPress Profiles, Forums & Topics\u003C\u002Fli>\n\u003Cli>BuddyPress Profile Sections\u003C\u002Fli>\n\u003Cli>Languages (Polylang, qTranslate X, TranslatePress, Transposh, Weglot, WPML)\u003C\u002Fli>\n\u003Cli>Pods Pages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note that Access Conditions do not apply to content displayed in lists.\u003C\u002Fp>\n\u003Ch3>✅ Grant & Deny Capabilities\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>👁️ Hide Admin Bar & Nav Menu Visibility\u003C\u002Fh3>\n\u003Cp>Disable the admin bar for select levels and control what menu items members can see. You can even hide any widget area created with \u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002F?utm_source=readme&utm_medium=referral&utm_content=section&utm_campaign=rua\" rel=\"nofollow ugc\">Content Aware Sidebars\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🤖 Restrict Content from Other Plugins\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>bbPress\u003C\u002Fli>\n\u003Cli>BuddyPress\u003C\u002Fli>\n\u003Cli>Easy Digital Downloads\u003C\u002Fli>\n\u003Cli>Pods\u003C\u002Fli>\n\u003Cli>Polylang\u003C\u002Fli>\n\u003Cli>TranslatePress\u003C\u002Fli>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003Cli>Weglot\u003C\u002Fli>\n\u003Cli>WPML\u003C\u002Fli>\n\u003Cli>and more …\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🛡️ WordPress Security Enhancements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>WP REST API Content Protection\u003C\u002Fstrong>\u003Cbr \u002F>\nEnforces PoLA to minimize attack surfaces and stop threat actors from harvesting your data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>How to display content in lists\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay excerpts only or hide content when post types are displayed in blog, archives, search results, lists, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📑 Restrict Content with Shortcodes\u003C\u002Fh3>\n\u003Cp>Fine-tune content visibility in your posts or pages by adding simple shortcodes:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[restrict level=\"platinum\"]\nThis content can only be seen by users with Platinum level or above.\n[\u002Frestrict]\n\n[restrict level=\"!platinum\"]\nThis content can only be seen by users without Platinum level or above.\n[\u002Frestrict]\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[\u002Frestrict]\n\n[login-form]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>👋 Developer-friendly API\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch4>Example – Add level to current user\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>rua_get_user()->add_level($level_id);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Example – Check if current user has an active level membership\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>if(rua_get_user()->has_level($level_id)) {\n    \u002F\u002Fshow restricted content\n} else {\n    \u002F\u002Fshow content if unauthorized\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fdocs\u002Frestrict-user-access\u002Fdeveloper-api\u002F?utm_source=readme&utm_medium=referral&utm_content=section&utm_campaign=rua\" rel=\"nofollow ugc\">View full RUA PHP API documentation here.\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🎛️ Premium Add-ons for Restrict User Access\u003C\u002Fh3>\n\u003Cp>Complete your WordPress membership site with these powerful extensions\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=acf&utm_campaign=rua\" rel=\"nofollow ugc\">ACF Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content that contain data from Advanced Custom Fields plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=date&utm_campaign=rua\" rel=\"nofollow ugc\">Date Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content based on the time it was published\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=metabox&utm_campaign=rua\" rel=\"nofollow ugc\">Meta Box Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content that contain data from Meta Box plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=timelock&utm_campaign=rua\" rel=\"nofollow ugc\">Timelock\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nDetermine when to enable or disable select Access Conditions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=url&utm_campaign=rua\" rel=\"nofollow ugc\">URL Restriction\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nRestrict content based on the WordPress URL, with wildcard support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fproducts\u002Fcategory\u002Frestrict-user-access\u002F?utm_source=readme&utm_medium=referral&utm_content=visibility&utm_campaign=rua\" rel=\"nofollow ugc\">Visibility Control\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\nHide content from blog, search results, archives, custom lists, WP REST API, and more\u003C\u002Fli>\n\u003C\u002Ful>\n","Create Access Levels and restrict any post, page, category, etc. Supports bbPress, BuddyPress, WooCommerce, WPML, and more.",10000,619496,86,94,"2025-10-06T06:48:00.000Z","5.8","7.2",[18,75,76,19,54],"bbpress","capabilities","https:\u002F\u002Fdev.institute\u002Fwordpress-memberships\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestrict-user-access.2.8.zip",99,2,"2024-03-18 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":11,"downloaded":90,"rating":11,"num_ratings":11,"last_updated":91,"tested_up_to":14,"requires_at_least":92,"requires_php":93,"tags":94,"homepage":98,"download_link":99,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"mht-entry-confirm","MHT Entry Confirm","1.1.2","maid-h","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaidht\u002F","\u003Cp>\u003Cstrong>MHT Entry Confirm\u003C\u002Fstrong> adds a confirmation gate and content restriction modal to your WordPress site. Before visitors can view protected pages, a full-screen confirmation modal appears — content is revealed only after the visitor explicitly confirms they meet the required conditions.\u003C\u002Fp>\n\u003Cp>Designed for sites that need simple, privacy-friendly access control without the overhead of complex membership plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Common use cases:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>– Age verification for adult content, alcohol, tobacco, or gambling-related sites\u003Cbr \u002F>\n– Content warnings for mature themes, violence, or graphic media\u003Cbr \u002F>\n– Regional or legal access restrictions (e.g. country-specific compliance)\u003Cbr \u002F>\n– Age-gated product pages for games, movies, or media with age ratings\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why choose MHT Entry Confirm?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>– No personal data collected — fully GDPR-friendly\u003Cbr \u002F>\n– No tracking, no ads, no upsells\u003Cbr \u002F>\n– Free and open-source (GPL-2.0)\u003Cbr \u002F>\n– Lightweight — no impact on page speed\u003C\u002Fp>\n\u003Ch3>Frontend-First Architecture\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>MHT Entry Confirm is designed with a frontend-first architecture.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The confirmation gate runs entirely in the browser using JavaScript and cookies.\u003Cbr \u002F>\nAfter the page is loaded, the modal logic works independently from the WordPress backend.\u003C\u002Fp>\n\u003Cp>– No AJAX requests to the server\u003Cbr \u002F>\n– No PHP processing during confirmation\u003Cbr \u002F>\n– No database interaction for visitor validation\u003C\u002Fp>\n\u003Cp>All confirmation logic runs on the client side.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>– \u003Cstrong>Blocking confirmation modal\u003C\u002Fstrong>\u003Cbr \u002F>\n  Displays a full-page modal before protected content is shown.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Cookie-based access memory\u003C\u002Fstrong>\u003Cbr \u002F>\n  Remembers confirmed visitors for a configurable number of days, or for the current browser session only.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Customizable appearance\u003C\u002Fstrong>\u003Cbr \u002F>\n  Adjust logo image, title color, modal title, description text, button color, backdrop color and opacity to match your site design.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Safe redirect for restricted visitors\u003C\u002Fstrong>\u003Cbr \u002F>\n  Redirect visitors who do not confirm to a specified external URL.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Flexible button settings\u003C\u002Fstrong>\u003Cbr \u002F>\n  Customize confirmation and decline button labels, and optionally swap their positions.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Exclusion rules\u003C\u002Fstrong>\u003Cbr \u002F>\n  Disable the confirmation modal on specific posts, categories, or tags by ID.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Cookie flag control\u003C\u002Fstrong>\u003Cbr \u002F>\n  Change the cookie flag value to invalidate existing cookies and force re-confirmation for all visitors.\u003C\u002Fp>\n\u003Cp>– \u003Cstrong>Test mode\u003C\u002Fstrong>\u003Cbr \u002F>\n  Preview and adjust the modal without saving cookies — useful for development and design tuning.\u003C\u002Fp>\n\u003Ch3>For Developers\u003C\u002Fh3>\n\u003Cp>MHT Entry Confirm dispatches a custom JavaScript event after a visitor successfully passes the confirmation step, allowing you to trigger additional logic.\u003C\u002Fp>\n\u003Cp>The event name is stable within the same major version.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cscript>\n    document.addEventListener(\"mhtentryconfirm_passed\", function() {\n        \u002F\u002F Custom logic after confirmation is passed\n    });\n\u003C\u002Fscript>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Lightweight WordPress plugin to restrict content behind a confirmation modal — no tracking, no ads, privacy-friendly.",349,"2026-03-14T14:27:00.000Z","6.0","8.2",[18,95,96,19,97],"age-gate","age-verification","content-warning","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmht-entry-confirm\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmht-entry-confirm.1.1.2.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":11,"downloaded":108,"rating":11,"num_ratings":11,"last_updated":109,"tested_up_to":49,"requires_at_least":92,"requires_php":110,"tags":111,"homepage":115,"download_link":116,"security_score":117,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"only-members-access","Only Members Access","1.0.3","LetoWPDev","https:\u002F\u002Fprofiles.wordpress.org\u002Fletowpdev\u002F","\u003Cp>Only Members Access Only Members Access beschränkt den Zugriff auf Inhalte nur auf registrierte und eingeloggte Benutzer.\u003C\u002Fp>\n\u003Ch3>Beschreibung\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Only Members Access\u003C\u002Fstrong> ist ein leistungsstarkes WordPress-Plugin, das den Zugriff auf deine Website einschränkt und nur registrierten, eingeloggten Benutzern erlaubt, Inhalte zu sehen. Es ist ideal für Websites, die exklusive Inhalte anbieten und sicherstellen möchten, dass nur berechtigte Benutzer Zugriff darauf haben.\u003C\u002Fp>\n\u003Cp>Mit flexiblen Optionen kannst du bestimmte Seiten oder Beiträge von der Zugriffsbeschränkung ausnehmen, um öffentliche Inhalte bereitzustellen, während der Rest der Seite geschützt bleibt. Du kannst auch festlegen, auf welche Bereiche oder Funktionen deiner Seite eingeloggte Benutzer Zugriff haben.\u003C\u002Fp>\n\u003Cp>Die einfache Konfiguration macht es für Administratoren leicht, Benutzer zu verwalten und Zugriffskontrollen effizient zu steuern.\u003C\u002Fp>\n\u003Cp>Das Plugin bietet außerdem Funktionen wie benutzerdefinierte Weiterleitungen nach der Anmeldung und die Anpassung von Anmeldeformularen, um das Benutzererlebnis zu optimieren. \u003Cstrong>Only Members Access\u003C\u002Fstrong> bietet eine robuste Lösung für Websites, die eine sichere und exklusive Umgebung für ihre Mitglieder schaffen möchten.\u003C\u002Fp>\n\u003Ch3>❤️ Du magst Only Members Access?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Besuche unsere \u003Ca href=\"https:\u002F\u002Fletowp.de\u002F?utm_source=wordpress.org&utm_medium=only-members-access\" rel=\"nofollow ugc\">Website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Oder bewerte uns auf \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fonly-members-access\u002Freviews\u002F?rate=5#new-post\" rel=\"ugc\">WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Only Members Access Only Members Access beschränkt den Zugriff auf Inhalte nur auf registrierte und eingeloggte Benutzer.",1210,"2025-05-07T07:49:00.000Z","8.1",[18,19,112,113,114],"members","only-members","user-restriction","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fonly-members-access.1.0.3.zip",92,{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":11,"downloaded":126,"rating":11,"num_ratings":11,"last_updated":127,"tested_up_to":14,"requires_at_least":128,"requires_php":16,"tags":129,"homepage":133,"download_link":134,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"restrictly-access-control","Restrictly – Access Control","0.1.1","bobbyalcorn","https:\u002F\u002Fprofiles.wordpress.org\u002Fbobbyalcorn\u002F","\u003Cp>Restrictly™ delivers professional-grade access control without compromising your site’s speed or reliability.\u003Cbr \u002F>\nIt enforces rule-based visibility across \u003Cstrong>pages\u003C\u002Fstrong>, \u003Cstrong>posts\u003C\u002Fstrong>, \u003Cstrong>menus\u003C\u002Fstrong>, \u003Cstrong>Full Site Editing (FSE) blocks\u003C\u002Fstrong>, \u003Cstrong>search results\u003C\u002Fstrong>, and \u003Cstrong>REST API responses\u003C\u002Fstrong>, while maintaining full compatibility with themes and page builders.\u003C\u002Fp>\n\u003Cp>In the free version, access rules are driven by user roles and login status, providing a clean and reliable foundation for content and navigation control.\u003C\u002Fp>\n\u003Cp>Includes \u003Cstrong>Extended Visibility Filtering\u003C\u002Fstrong>, which automatically hides restricted content from search results, archives, and public listings.\u003C\u002Fp>\n\u003Cp>For full documentation, setup guides, and developer notes, visit the \u003Ca href=\"https:\u002F\u002Frestrictlypro.com\" rel=\"nofollow ugc\">official Restrictly™ website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Full Site Editing (FSE) Integration\u003C\u002Fstrong> – Add block-level visibility directly inside the Site Editor.\u003Cbr \u002F>\nChoose who can see each block (Everyone, Logged-In, Logged-Out, or Specific Roles) with optional color-coded indicators.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Navigation Block Support (FSE Menus)\u003C\u002Fstrong> – Manage visibility for navigation links, submenus, and page lists directly within the Site Editor.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extended Visibility Filtering\u003C\u002Fstrong> – Automatically hides restricted content from:\n\u003Cul>\n\u003Cli>Search results\u003C\u002Fli>\n\u003Cli>Category, tag, and author archives\u003C\u002Fli>\n\u003Cli>Home listings and custom queries\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API Enforcement\u003C\u002Fstrong> – Applies Restrictly™ visibility rules to REST API responses, automatically filtering restricted content for unauthorized users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dynamic Menu Visibility (Classic Menus)\u003C\u002Fstrong> – Control menu item visibility by login state or user role in the classic menu editor.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full, Quick, and Bulk Edit Support\u003C\u002Fstrong> – Manage restrictions from any editor interface.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sortable, Filterable Columns\u003C\u002Fstrong> – Instantly see and organize restricted items in list tables.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Administrator Override\u003C\u002Fstrong> – Allows administrators to bypass restrictions for testing.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Divi & Page Builder Compatibility\u003C\u002Fstrong> – Works perfectly with Divi and other builders.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance-Focused & Secure\u003C\u002Fstrong> – Built entirely on WordPress core APIs with strict sanitization and escaping.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation Ready\u003C\u002Fstrong> – Includes a \u003Ccode>.pot\u003C\u002Fcode> file for localization.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Uninstall\u003C\u002Fstrong> – Removes all plugin data and options when uninstalled.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>Restricting Content\u003C\u002Fh4>\n\u003Cp>Restrictly™ lets you limit access to any \u003Cstrong>page\u003C\u002Fstrong> or \u003Cstrong>post\u003C\u002Fstrong> using intuitive controls:\u003Cbr \u002F>\n– \u003Cstrong>Login-Based Restrictions\u003C\u002Fstrong> – Limit visibility to Logged-In or Logged-Out users.\u003Cbr \u002F>\n– \u003Cstrong>Role-Based Restrictions\u003C\u002Fstrong> – Allow access only to specific user roles.\u003Cbr \u002F>\n– \u003Cstrong>Enforcement Actions\u003C\u002Fstrong> – Display a custom message or redirect unauthorized users.\u003Cbr \u002F>\n– \u003Cstrong>Administrator Override\u003C\u002Fstrong> – Admins can always access restricted content when enabled.\u003C\u002Fp>\n\u003Ch4>Restricting Blocks (FSE)\u003C\u002Fh4>\n\u003Cp>Restrictly™ integrates directly with the WordPress Site Editor (FSE) to provide per-block visibility:\u003Cbr \u002F>\n– Choose \u003Cstrong>Everyone\u003C\u002Fstrong>, \u003Cstrong>Logged-In\u003C\u002Fstrong>, \u003Cstrong>Logged-Out\u003C\u002Fstrong>, or \u003Cstrong>Specific Roles\u003C\u002Fstrong>.\u003Cbr \u002F>\n– Instantly preview restrictions using colored visibility indicators.\u003Cbr \u002F>\n– Restrictions are enforced server-side for full security and consistency.\u003C\u002Fp>\n\u003Ch4>Restricting Navigation (FSE Menus)\u003C\u002Fh4>\n\u003Cp>Restrictly™ also controls FSE Navigation menu visibility:\u003Cbr \u002F>\n– Show or hide individual links, submenus, and page lists by login status or role.\u003Cbr \u002F>\n– Works natively inside the block-based Navigation editor.\u003C\u002Fp>\n\u003Ch4>REST API Enforcement\u003C\u002Fh4>\n\u003Cp>Restrictly™ applies identical access logic to REST API endpoints.\u003Cbr \u002F>\nUnauthorized users see redacted content instead of restricted data — ensuring privacy across your site.\u003C\u002Fp>\n\u003Ch4>Search & Archive Filtering\u003C\u002Fh4>\n\u003Cp>Restricted content is automatically excluded from:\u003Cbr \u002F>\n– \u003Cstrong>Search results\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Category, Tag, and Author archives\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Home and custom queries\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>Restricting Menu Items (Classic Menus)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Login-Based Visibility\u003C\u002Fstrong> – Show menu items only to Logged-In or Logged-Out users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role-Based Visibility\u003C\u002Fstrong> – Display menu items only to selected roles.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conflict Detection\u003C\u002Fstrong> – Highlights mismatched menu vs. page restrictions for easy correction.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>Restrictly™ does \u003Cstrong>not\u003C\u002Fstrong> collect user data, track activity, or transmit information externally.\u003C\u002Fp>\n\u003Ch3>Contributing & Support\u003C\u002Fh3>\n\u003Cp>Development happens on GitHub — pull requests and issue reports welcome:\u003Cbr \u002F>\nhttps:\u002F\u002Fgithub.com\u002Fbobbyalcorn\u002Frestrictly\u003C\u002Fp>\n\u003Cp>For full documentation and support, visit:\u003Cbr \u002F>\nhttps:\u002F\u002Frestrictlypro.com\u003C\u002Fp>\n","Performance-focused access control for WordPress, enforcing rule-based visibility across content, menus, and blocks with a clean core.",144,"2026-01-07T03:55:00.000Z","5.2",[18,19,130,131,132],"rest-api","user-roles","visibility","https:\u002F\u002Frestrictlypro.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frestrictly-access-control.0.1.1.zip",{"attackSurface":136,"codeSignals":206,"taintFlows":217,"riskAssessment":218,"analyzedAt":226},{"hooks":137,"ajaxHandlers":202,"restRoutes":203,"shortcodes":204,"cronEvents":205,"entryPointCount":11,"unprotectedCount":11},[138,144,149,153,157,161,164,169,172,175,179,184,187,190,193,196,199],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","rest_api_init","register_routes","includes\u002FRestApi\u002Fclass-contentgate-rest-api.php",22,{"type":139,"name":145,"callback":146,"file":147,"line":148},"admin_menu","register_admin_menu","includes\u002Fadmin\u002Fclass-contentgate-admin.php",13,{"type":139,"name":150,"callback":151,"file":147,"line":152},"in_admin_header","hide_admin_notices",14,{"type":139,"name":154,"callback":155,"file":156,"line":143},"init","register_post_types","includes\u002Fclass-contentgate-post-types.php",{"type":139,"name":158,"callback":159,"file":160,"line":148},"wp_enqueue_scripts","contentgate_enqueue_styles","includes\u002Ffrontend\u002Fclass-contentgate-frontend.php",{"type":139,"name":162,"callback":163,"file":160,"line":152},"template_redirect","run_content_restrictions",{"type":165,"name":166,"callback":167,"file":160,"line":168},"filter","template_include","include_run_content_restrictions",15,{"type":165,"name":166,"callback":170,"file":160,"line":171},"restrict_whole_site",16,{"type":165,"name":166,"callback":173,"file":160,"line":174},"restrict_blog_page",17,{"type":165,"name":176,"callback":177,"file":160,"line":178},"body_class","closure",758,{"type":139,"name":180,"callback":181,"priority":182,"file":160,"line":183},"woocommerce_after_single_product","products_restriction_message",10,791,{"type":139,"name":185,"callback":181,"priority":182,"file":160,"line":186},"woocommerce_before_shop_loop",800,{"type":165,"name":188,"callback":177,"priority":182,"file":160,"line":189},"comments_open",891,{"type":165,"name":191,"callback":177,"priority":182,"file":160,"line":192},"pings_open",900,{"type":165,"name":194,"callback":177,"priority":182,"file":160,"line":195},"comments_array",909,{"type":165,"name":197,"callback":177,"file":160,"line":198},"render_block",918,{"type":165,"name":176,"callback":177,"file":200,"line":201},"includes\u002Ffunctions.php",431,[],[],[],[],{"dangerousFunctions":207,"sqlUsage":208,"outputEscaping":210,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":80,"bundledLibraries":213},[],{"prepared":11,"raw":11,"locations":209},[],{"escaped":211,"rawEcho":11,"locations":212},67,[],[214],{"name":215,"version":23,"knownCves":216},"Select2",[],[],{"summary":219,"deductions":220},"Based on the provided static analysis and vulnerability history, the contentgate plugin version 1.0.1 exhibits a generally strong security posture. The absence of any identified CVEs, critical taint flows, dangerous functions, or file operations is highly positive. The plugin also demonstrates good practices by ensuring all SQL queries are prepared and all output is properly escaped. The presence of capability checks, while not extensive, indicates some level of access control is considered.\n\nHowever, a significant concern is the complete lack of nonces. While the static analysis shows 0 AJAX handlers and 0 entry points overall, which limits the immediate attack surface, the absence of nonces means that if any functionality were to be exposed in the future, it would be inherently vulnerable to Cross-Site Request Forgery (CSRF) attacks. The bundled library, Select2, could also be a potential concern if it is an outdated version, though this is not explicitly stated in the provided data. The zero taint flows are excellent, but the very small attack surface and limited number of capability checks might also suggest that the plugin's functionality is minimal, which could explain the lack of discovered vulnerabilities or complex code paths.\n\nIn conclusion, contentgate v1.0.1 appears secure against common vulnerabilities based on the current analysis, particularly regarding SQL injection and XSS. Its strength lies in its clean code concerning database interactions and output handling. The primary weakness is the reliance on future implementation for security measures like nonces, leaving it exposed to CSRF if new entry points are added without proper safeguards. The plugin history of zero vulnerabilities further reinforces its current perceived security, but this could be due to its limited scope or the static analysis not covering all possible interaction vectors.",[221,223],{"reason":222,"points":182},"Missing nonce checks",{"reason":224,"points":225},"Bundled library (Select2) might be outdated",3,"2026-04-16T14:13:45.083Z",{"wat":228,"direct":241},{"assetPaths":229,"generatorPatterns":234,"scriptPaths":235,"versionParams":236},[230,231,232,233],"\u002Fwp-content\u002Fplugins\u002Fcontentgate\u002Fassets\u002Fcss\u002Fcontentgate-admin.css","\u002Fwp-content\u002Fplugins\u002Fcontentgate\u002Fassets\u002Fcss\u002Fcontentgate-frontend.css","\u002Fwp-content\u002Fplugins\u002Fcontentgate\u002Fassets\u002Fjs\u002Fcontentgate-admin.js","\u002Fwp-content\u002Fplugins\u002Fcontentgate\u002Fassets\u002Fjs\u002Fcontentgate-frontend.js",[],[232,233],[237,238,239,240],"contentgate-admin-css?ver=","contentgate-frontend-css?ver=","contentgate-admin-js?ver=","contentgate-frontend-js?ver=",{"cssClasses":242,"htmlComments":257,"htmlAttributes":260,"restEndpoints":268,"jsGlobals":272,"shortcodeOutput":275},[243,244,245,246,247,248,249,250,251,252,253,254,255,256],"contentgate-admin-wrap","contentgate-settings-page","contentgate-access-rule-form","contentgate-access-rule-list","contentgate-rule-title","contentgate-rule-actions","contentgate-content-restriction","contentgate-restriction-settings","contentgate-login-status","contentgate-user-role","contentgate-message-box","contentgate-redirect-url","contentgate-shortcode-editor","contentgate-pro-notice",[258,259],"ContentGate Admin Class","Main ContentGate Class",[261,262,263,264,265,266,267],"data-contentgate-rule-id","data-contentgate-rule-title","data-contentgate-rule-status","data-contentgate-rule-type","data-contentgate-action-id","data-contentgate-action-type","data-contentgate-action-label",[269,270,271],"\u002Fwp-json\u002Fcontentgate\u002Fv1\u002Frules","\u002Fwp-json\u002Fcontentgate\u002Fv1\u002Frules\u002F(?P\u003Cid>[\\d]+)","\u002Fwp-json\u002Fcontentgate\u002Fv1\u002Fsettings",[273,274],"contentgate_admin_params","contentgate_frontend_params",[],{"error":277,"url":278,"statusCode":279,"statusMessage":280,"message":280},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fcontentgate\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":80,"versions":282},[283,289],{"version":6,"download_url":21,"svn_tag_url":284,"released_at":23,"has_diff":285,"diff_files_changed":286,"diff_lines":23,"trac_diff_url":287,"vulnerabilities":288,"is_current":277},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcontentgate\u002Ftags\u002F1.0.1\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fcontentgate%2Ftags%2F1.0.0&new_path=%2Fcontentgate%2Ftags%2F1.0.1",[],{"version":290,"download_url":291,"svn_tag_url":292,"released_at":23,"has_diff":285,"diff_files_changed":293,"diff_lines":23,"trac_diff_url":23,"vulnerabilities":294,"is_current":285},"1.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontentgate.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcontentgate\u002Ftags\u002F1.0.0\u002F",[],[]]