[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$foU0_2Cmom4EyjeOod1jhxBHAjiSDbc7msDyHLZSV77k":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":148,"fingerprints":725},"maven-member","Maven Member","1.0.35","mustela","https:\u002F\u002Fprofiles.wordpress.org\u002Fmustela\u002F","\u003Cp>Maven Member&trade; is less about membership and more about restricting access to certain areas of your site.  While we are planning on payment integration options, the main problem this plugin solves is: do you have sensitive content but don’t need a plugin that takes over your site or requires hours of setup? Bingo!\u003C\u002Fp>\n\u003Cp>Documentation is in process and feedback is welcome.  You can use the forum or please ask submit any questions or suggestion to mavenmember@gmail.com! Thanks!\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Restrict access to posts, pages, and categories\u003C\u002Fli>\n\u003Cli>Login inline with content rather than using the WP login page\u003C\u002Fli>\n\u003Cli>Create your own custom registration form\u003C\u002Fli>\n\u003Cli>Hold new registrations for admin moderation\u002Fapproval\u003C\u002Fli>\n\u003Cli>Customizable templates for login and registration\u003C\u002Fli>\n\u003Cli>Captcha in the registration form\u003C\u002Fli>\n\u003C\u002Ful>\n","Maven Member&trade; lets you protect pages, posts and categories using flexible roles that you can define.",40,20480,54,10,"2013-01-25T21:01:00.000Z","3.4.2","3.0","",[20,21,22,23,24],"authentication","block","community","content","roles","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmaven-member.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},2,6040,30,84,"2026-04-04T14:17:10.074Z",[38,57,79,101,125],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":46,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":55,"download_link":56,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"members-category","Members Category","1.0.3","Sabaoh","https:\u002F\u002Fprofiles.wordpress.org\u002Fsabaoh\u002F","\u003Cp>Members Category is an add-in for WP-Members&trade; plugin. It has tested with WordPress&reg; 3.3.2 and WP-Members&trade; 2.7.4. With Members Category plugin, you can choose some categories to be restricted and other categories to be free access. In front page and archive page, it suggests masking any restricted contents, too.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Apply WP-Members’&trade; restriction by some categories.\u003C\u002Fli>\n\u003Cli>Can mask all restricted contents from the front page and archive pages.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>For more information\u003C\u002Fh3>\n\u003Cp>Please visit http:\u002F\u002Fsabaoh.sakura.ne.jp\u002Fwordpress\u002F . In Japanese only.\u003Cbr \u002F>\nIf you need information in English, please contact to mailto:age.yamada@kxa.biglobe.ne.jp .\u003C\u002Fp>\n","Members Category is an add-in for WP-Members&trade; plugin that restricts specified categories to registered users.",20,5663,3,"2012-05-10T10:09:00.000Z","3.3.2","3.1",[20,53,22,23,54],"category","login","http:\u002F\u002Fsabaoh.sakura.ne.jp\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmembers-category.1.0.3.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":27,"downloaded":65,"rating":27,"num_ratings":27,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":18,"download_link":76,"security_score":77,"vuln_count":48,"unpatched_count":27,"last_vuln_date":78,"fetched_at":29},"contentlock","ContentLock","1.0.6","Adam Solymosi","https:\u002F\u002Fprofiles.wordpress.org\u002Fadamfalcon\u002F","\u003Ch3>EMAIL-BASED VERIFICATION ✔️\u003C\u002Fh3>\n\u003Cp>ContentLock is a simple solution for setting \u003Cstrong>email-based access to your Pages, Posts, or Custom Post Types\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Do you want to provide quick access to someone (or a whole group) via email only, \u003Cstrong>without requiring any kind of registration\u003C\u002Fstrong>?\u003C\u002Fp>\n\u003Cp>Here is your plugin!\u003C\u002Fp>\n\u003Ch3>SECURE ACCESS TO YOUR CONTENT 🔑\u003C\u002Fh3>\n\u003Cp>ContentLock offers a solution that is independent of WordPress users and the registration system, allowing you to grant access to content that is hidden from other visitors.\u003C\u002Fp>\n\u003Cp>Compatible with popular page builders, editors and plugins: Gutenberg, Classic Editor, Elementor, Divi, etc.\u003C\u002Fp>\n\u003Ch3>FEATURES 🚀\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create groups for standalone email lists\u003C\u002Fli>\n\u003Cli>Set access for multiple groups simultaneously\u003C\u002Fli>\n\u003Cli>Import emails from a CSV file\u003C\u002Fli>\n\u003Cli>Unlock content with an email verification code\u003C\u002Fli>\n\u003C\u002Ful>\n","Secure access to your content (Pages, Posts, or Custom Post Types) with ContentLock's email-based two-step verification!",1600,"2025-03-24T20:50:00.000Z","6.7.5","6.2","7.0",[71,72,73,74,75],"2fa","block-content","content-protect","locker","two-step-authentication","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontentlock.1.0.6.zip",90,"2024-06-21 00:00:00",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":27,"downloaded":87,"rating":27,"num_ratings":27,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":91,"tags":92,"homepage":98,"download_link":99,"security_score":100,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"intelli-builder","IntelliBuilder","1.0.0","Yaseen Taha","https:\u002F\u002Fprofiles.wordpress.org\u002Fshowyaseen\u002F","\u003Cp>\u003Cstrong>IntelliBuilder\u003C\u002Fstrong> empowers WordPress administrators to dynamically control the visibility of Gutenberg blocks by implementing a broad range of customizable conditions. By integrating seamlessly with the Gutenberg editor, IntelliBuilder adds a new dimension to content management, allowing for finely tuned, personalized content delivery.\u003C\u002Fp>\n\u003Ch3>Key Features:\u003C\u002Fh3>\n\u003Cp>– \u003Cstrong>User Roles:\u003C\u002Fstrong> Target content based on specific user roles (e.g., Administrator, Editor, Subscriber).\u003Cbr \u002F>\n– \u003Cstrong>Geolocation:\u003C\u002Fstrong> Display or hide content based on the user’s country and city, leveraging real-time IP-based location detection.\u003Cbr \u002F>\n– \u003Cstrong>Browser Detection:\u003C\u002Fstrong> Customize content visibility according to the user’s browser (e.g., Chrome, Firefox, Safari).\u003Cbr \u002F>\n– \u003Cstrong>Device Type:\u003C\u002Fstrong> Tailor content for different device types, including Desktop, Tablet, and Mobile.\u003Cbr \u002F>\n– \u003Cstrong>Operating System:\u003C\u002Fstrong> Control visibility based on the user’s operating system (e.g., Windows, macOS, Linux, iOS, Android).\u003Cbr \u002F>\n– \u003Cstrong>Referral Source:\u003C\u002Fstrong> Show or hide content based on the user’s referral source, ideal for targeted marketing campaigns.\u003Cbr \u002F>\n– \u003Cstrong>Recurring vs New Users:\u003C\u002Fstrong> Differentiate content between first-time visitors and returning users.\u003Cbr \u002F>\n– \u003Cstrong>User Status:\u003C\u002Fstrong> Display content conditionally for logged-in or logged-out users.\u003Cbr \u002F>\n– \u003Cstrong>User-Specific Rules:\u003C\u002Fstrong> Target individual users by their username for a personalized experience.\u003Cbr \u002F>\n– \u003Cstrong>Browser Language:\u003C\u002Fstrong> Adapt content based on the language settings of the user’s browser.\u003Cbr \u002F>\n– \u003Cstrong>Scheduled Content:\u003C\u002Fstrong> Schedule the visibility of Gutenberg blocks to appear or disappear at specific times and dates.\u003C\u002Fp>\n\u003Ch3>Example Use Cases:\u003C\u002Fh3>\n\u003Cp>– \u003Cstrong>Membership Sites:\u003C\u002Fstrong> Display exclusive content to logged-in members only, enhancing membership value.\u003Cbr \u002F>\n– \u003Cstrong>Marketing Campaigns:\u003C\u002Fstrong> Tailor promotional content based on referral sources to improve conversion rates.\u003Cbr \u002F>\n– \u003Cstrong>Localization:\u003C\u002Fstrong> Serve region-specific information by utilizing the user’s geolocation and browser language.\u003Cbr \u002F>\n– \u003Cstrong>Device-Specific Content:\u003C\u002Fstrong> Optimize content delivery for different devices and operating systems for a seamless user experience.\u003C\u002Fp>\n\u003Ch3>How It Works:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Initialization:\u003C\u002Fstrong> Hooks into WordPress actions and filters via the \u003Ccode>intelli-builder.php\u003C\u002Fcode> file to initialize the plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Integration:\u003C\u002Fstrong> React components within \u003Ccode>src\u002Fblocks\u002Fvisibility-settings\u002F\u003C\u002Fcode> render the visibility settings interface directly within the Gutenberg block editor.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rule Configuration:\u003C\u002Fstrong> Administrators configure visibility rules in the Gutenberg block settings panel.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditional Rendering:\u003C\u002Fstrong> When rendering a post or page, IntelliBuilder evaluates the defined visibility rules to determine which blocks should be displayed.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Third-Party Dependencies\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>1. CountriesNow API\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose:\u003C\u002Fstrong> Provides a list of countries and their cities for precise geolocation-based visibility rules.\u003Cbr \u002F>\n– \u003Cstrong>Integration:\u003C\u002Fstrong> Used in the \u003Ccode>GeoLocation\u003C\u002Fcode> React component to enable country and city selection.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. IP-API\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose:\u003C\u002Fstrong> Detects the user’s geographical location based on their IP address.\u003Cbr \u002F>\n– \u003Cstrong>Integration:\u003C\u002Fstrong> Utilized in the \u003Ccode>GeoIP\u003C\u002Fcode> PHP class to automatically retrieve user location data for geolocation rules.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. hisorange\u002Fbrowser-detect\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Purpose:\u003C\u002Fstrong> Detects the user’s browser, device type, operating system, and language.\u003Cbr \u002F>\n– \u003Cstrong>Integration:\u003C\u002Fstrong> Powers several visibility rules, including browser name, device type, operating system, and browser language detection.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later. See the \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">GNU General Public License\u003C\u002Fa> for more details.\u003C\u002Fp>\n","IntelliBuilder: Control Gutenberg block visibility with custom rules for user roles, devices, locations, and more.",1046,"2024-08-27T18:31:00.000Z","6.6.5","5.5","7.2",[93,94,95,96,97],"browser-detection","conditional-blocks","content-visibility","geolocation","user-roles","https:\u002F\u002Fwordpress.com\u002Fplugins\u002Fintelli-builder","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fintelli-builder.1.0.0.zip",92,{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":35,"num_ratings":111,"last_updated":112,"tested_up_to":113,"requires_at_least":114,"requires_php":115,"tags":116,"homepage":18,"download_link":121,"security_score":122,"vuln_count":123,"unpatched_count":27,"last_vuln_date":124,"fetched_at":29},"advanced-access-manager","Advanced Access Manager – Access Governance for WordPress","7.1.0","AAM Plugin","https:\u002F\u002Fprofiles.wordpress.org\u002Fvasyltech\u002F","\u003Cp>\u003Cstrong>Advanced Access Manager (AAM)\u003C\u002Fstrong> introduces \u003Cstrong>Access Governance for WordPress\u003C\u002Fstrong> – a systematic approach to securing your site by controlling who can access what, when, and why.\u003C\u002Fp>\n\u003Cp>Most WordPress security plugins focus on external threats like malware, firewalls, and brute-force attacks. AAM addresses the \u003Cstrong>root cause of the #1 WordPress security risk: broken access controls, excessive privileges, and misconfigured roles\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Instead of reacting to attacks, AAM helps you \u003Cstrong>design security into your WordPress site\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>What Access Governance means in practice\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Mitigate Broken Access Controls\u003C\u002Fstrong>. Ensure roles, users, and permissions are correctly configured to prevent unauthorized actions and privilege escalation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Eliminate Excessive Privileges\u003C\u002Fstrong>. Identify overpowered users and reduce access to critical functionality, admin areas, and APIs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure Content by Design\u003C\u002Fstrong>. Control who can view, edit, publish, or delete posts, pages, media, taxonomies, and custom content types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Govern Access with Policy\u003C\u002Fstrong>. Define access rules using JSON Access Policies — portable, auditable, and automation-friendly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Build Custom Security Logic\u003C\u002Fstrong>. Use the AAM PHP Framework to create advanced, programmatic access controls tailored to your application.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Security Audit\u003C\u002Fstrong>. Detect risky role assignments, misconfigurations, and compromised accounts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Granular Access Control\u003C\u002Fstrong>. Manage permissions for any user, role, or visitor with precision.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role & Capability Management\u003C\u002Fstrong>. Customize WordPress roles and capabilities beyond defaults.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin & Menu Control\u003C\u002Fstrong>. Restrict dashboard areas and tailor the admin experience per user or role.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>API & Endpoint Protection\u003C\u002Fstrong>. Secure REST and XML-RPC access with fine-grained controls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern Authentication Options\u003C\u002Fstrong>. Support passwordless and secure login flows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer-Ready Framework\u003C\u002Fstrong>. Extend WordPress security using AAM’s powerful SDK.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ad-Free & Transparent\u003C\u002Fstrong>. – No ads, no tracking, no bloat.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Built for Security-Conscious WordPress Users\u003C\u002Fh4>\n\u003Cp>AAM is trusted by \u003Cstrong>150,000+ websites\u003C\u002Fstrong> to deliver enterprise-grade access control without unnecessary complexity. Whether you’re a site owner, agency, developer, or security professional, AAM gives you \u003Cstrong>full control over WordPress access — by design\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Most core features are free. Advanced capabilities are available via premium add-ons.\u003C\u002Fp>\n\u003Cp>No hidden tracking. No data collection. No unwanted changes.\u003Cbr \u002F>\nJust \u003Cstrong>security you can reason about, audit, and trust\u003C\u002Fstrong>.\u003C\u002Fp>\n","Access Governance for WordPress. Control roles, users, content, admin areas, and APIs to prevent broken access controls and excessive privileges.",100000,7384389,420,"2026-03-08T15:53:00.000Z","6.9.4","5.8.0","5.6.0",[117,118,119,120,97],"access-governance","api-security","restricted-content","security","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-access-manager.7.1.0.zip",95,11,"2024-03-20 00:00:00",{"slug":126,"name":127,"version":128,"author":129,"author_profile":130,"description":131,"short_description":132,"active_installs":133,"downloaded":134,"rating":135,"num_ratings":136,"last_updated":137,"tested_up_to":113,"requires_at_least":138,"requires_php":139,"tags":140,"homepage":145,"download_link":146,"security_score":147,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"block-visibility","Block Visibility — Conditional Visibility Control for the Block Editor","3.7.1","Nick Diego","https:\u002F\u002Fprofiles.wordpress.org\u002Fndiego\u002F","\u003Cp>Easily create dynamic content in WordPress that will increase conversions, enhance the user experience, and improve your workflow.\u003C\u002Fp>\n\u003Cp>With this \u003Cstrong>no-code\u003C\u002Fstrong> solution, control which blocks are visible on your website and who can see them. Schedule content to show or hide at a specific time. Display exclusive promotions to your customers or members. Restrict blocks to specific user roles, screen sizes, query strings, WooCommerce products, EDD downloads, ACF fields, WP Fusion tags, and more.\u003C\u002Fp>\n\u003Cp>Block Visibility is built exclusively for the WordPress Editor (Gutenberg) and is designed to work with \u003Cstrong>any\u003C\u002Fstrong> WordPress block. This includes blocks natively provided by WordPress, third-party blocks, and even block-based widgets.\u003C\u002Fp>\n\u003Ch3>Create Conditional Blocks in Seconds!\u003C\u002Fh3>\n\u003Cp>Work directly in the WordPress Editor with blocks you’re already familiar with. There is no external editor or new interface to learn. In seconds, you can transform static blocks into conditional and personalized content.\u003C\u002Fp>\n\u003Cp>It takes just \u003Cstrong>3 simple steps\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create your content using \u003Cstrong>any\u003C\u002Fstrong> WordPress block.\u003C\u002Fli>\n\u003Cli>Select the desired visibility conditions.\u003C\u002Fli>\n\u003Cli>Save the page\u002Fpost and marvel at the results!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Packed With Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Visibility Controls\u003C\u002Fstrong> determine whether a block should be visible to users on the front end of your website. Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hide\u003C\u002Fstrong> blocks from all users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schedule\u003C\u002Fstrong> when content should be visible using a start and end date\u002Ftime.\u003C\u002Fli>\n\u003Cli>Conditionally display blocks based on \u003Cstrong>screen size\u003C\u002Fstrong> (Desktop, Tablet, Mobile, and more)\u003C\u002Fli>\n\u003Cli>Only show blocks to \u003Cstrong>logged-in\u003C\u002Fstrong> users.\u003C\u002Fli>\n\u003Cli>Only show blocks to \u003Cstrong>logged-out\u003C\u002Fstrong> users.\u003C\u002Fli>\n\u003Cli>Only show blocks to users with \u003Cstrong>specific roles\u003C\u002Fstrong> (Administrator, Subscriber, Customer, Member, etc.)\u003C\u002Fli>\n\u003Cli>Only show blocks to \u003Cstrong>specific users\u003C\u002Fstrong>. Great for personalization.\u003C\u002Fli>\n\u003Cli>Show or hide dynamic blocks based on \u003Cstrong>URL query strings\u003C\u002Fstrong>. Great for marketing campaigns!\u003C\u002Fli>\n\u003Cli>Show or hide blocks based on their \u003Cstrong>location\u003C\u002Fstrong> and “attributes” of their location (post type, taxonomy, archive, etc.)\u003C\u002Fli>\n\u003Cli>Display blocks based on a website visitor’s \u003Cstrong>referral source\u003C\u002Fstrong> (domain\u002FURL).\u003C\u002Fli>\n\u003Cli>Support for all post and user \u003Cstrong>metadata\u003C\u002Fstrong> (custom fields).\u003C\u002Fli>\n\u003Cli>Display blocks based on HTML \u003Cstrong>cookies\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce:\u003C\u002Fstrong> Show or hide blocks based on products, cart contents, customer purchase history, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Custom Fields (ACF):\u003C\u002Fstrong> Control the visibility of block content based on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-custom-fields\u002F\" rel=\"ugc\">ACF\u003C\u002Fa> fields.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Digital Downloads:\u003C\u002Fstrong> Show or hide blocks based on downloads, cart contents, customer purchase history, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP Fusion:\u003C\u002Fstrong> Combine Block Visibility with the power of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-fusion-lite\u002F\" rel=\"ugc\">WP Fusion\u003C\u002Fa> to conditionally show or hide content based on data from your favorite CRM or marketing automation platform.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>PLUS: Powerful Settings\u003C\u002Fstrong> allow you to customize Block Visibility to your needs or those of your clients.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Visibility Presets allow you to control multiple blocks at once.\u003C\u002Fli>\n\u003Cli>Globally disable any visibility control.\u003C\u002Fli>\n\u003Cli>Restrict visibility controls to specific block types.\u003C\u002Fli>\n\u003Cli>Set permissions so only certain users have access to visibility conditions.\u003C\u002Fli>\n\u003Cli>Configure up to 4 different breakpoints to optimize the screen size controls.\u003C\u002Fli>\n\u003Cli>Disable contextual indicators and other plugin utilities.\u003C\u002Fli>\n\u003Cli>Customize the contextual indicator color to enhance theme compatibility.\u003C\u002Fli>\n\u003Cli>Enable Full Control Mode 🚀 (See the FAQs).\u003C\u002Fli>\n\u003Cli>Remove all plugin settings on uninstall.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Do I Need This?\u003C\u002Fh3>\n\u003Cp>While there are countless applications for conditional blocks, here are a few examples to get you started:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Use as a content management tool. Hide new blocks while working on them, but keep the page published.\u003C\u002Fli>\n\u003Cli>Temporarily hide seasonal content on your website rather than having to delete it.\u003C\u002Fli>\n\u003Cli>Schedule time-sensitive promotional content or event information to display automatically.\u003C\u002Fli>\n\u003Cli>Show or hide specific content on desktops, tablets, or mobile devices.\u003C\u002Fli>\n\u003Cli>Restrict content so it’s only visible to your customers, members, or subscribers.\u003C\u002Fli>\n\u003Cli>Display messaging to logged-out users, encouraging them to subscribe to your blog.\u003C\u002Fli>\n\u003Cli>Create unique marketing campaigns using query string parameters to display personalized messaging (\u003Ca href=\"https:\u002F\u002Fwww.blockvisibilitywp.com?bv_query=example\" rel=\"nofollow ugc\">See it in action\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Conditionally display elements in the Site Editor using advanced visibility logic.\u003C\u002Fli>\n\u003Cli>Increase visitor engagement and conversions with dynamic content and personalization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Choose Block Visibility?\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>1. Easy to Use\u003C\u002Fstrong>\u003Cbr \u002F>\nBlock Visibility is the easiest way to create conditional blocks in WordPress. All with no code and just a few clicks!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. A Balance of Power and Simplicity\u003C\u002Fstrong>\u003Cbr \u002F>\nBlock Visibility is for you whether you’re building a sophisticated time-based promotional campaign for your customers or need to hide a few blocks on mobile. Don’t need certain functionality? Toggle it off in the plugin settings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Helpful Support and Continuous Development\u003C\u002Fstrong>\u003Cbr \u002F>\nBlock Visibility is designed, developed, and supported by Nick Diego with contributions from the broader Block Visibility community. Have an idea for additional block logic? Let us know in the plugin support forum.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.blockvisibilitywp.com\u002Fknowledge-base\u002F?bv_query=readme&utm_source=block_visibility&utm_medium=plugin&utm_campaign=readme\" rel=\"nofollow ugc\">Knowledge Base (Documentation)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fblock-visibility\u002F\" rel=\"ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For an \u003Cstrong>unbiased review\u003C\u002Fstrong>, the plugin was featured on \u003Ca href=\"https:\u002F\u002Fwptavern.com\u002Fshow-and-hide-content-via-the-block-visibility-wordpress-plugin\" rel=\"nofollow ugc\">WordPress Tavern\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Plays nice with others\u003C\u002Fh3>\n\u003Cp>Block Visibility is designed to work with \u003Cstrong>any\u003C\u002Fstrong> block and is tested with these top block libraries and plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Compatibility + Direct Integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fblockvisibilitywp.com\u002Fknowledge-base\u002Fhow-to-use-the-woocommerce-control\u002F?bv_query=readme&utm_source=block_visibility&utm_medium=plugin&utm_campaign=readme\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fblockvisibilitywp.com\u002Fknowledge-base\u002Fhow-to-use-the-advanced-custom-fields-control\u002F?bv_query=readme&utm_source=block_visibility&utm_medium=plugin&utm_campaign=readme\" rel=\"nofollow ugc\">Advanced Custom Fields\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fblockvisibilitywp.com\u002Fknowledge-base\u002Fhow-to-use-the-how-to-use-the-easy-digital-downloads-control\u002F?bv_query=readme&utm_source=block_visibility&utm_medium=plugin&utm_campaign=readme\" rel=\"nofollow ugc\">Easy Digital Downloads\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fblockvisibilitywp.com\u002Fknowledge-base\u002Fhow-to-use-the-wp-fusion-control\u002F\" rel=\"nofollow ugc\">WP Fusion\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Stay Connected\u003C\u002Fh3>\n\u003Cp>Stay up-to-date on Block Visibility using the links below. The plugin is also being developed transparently on GitHub, so give it a star and follow along! 😉\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.blockvisibilitywp.com\u002F?bv_query=readme&utm_source=block_visibility&utm_medium=plugin&utm_campaign=readme\" rel=\"nofollow ugc\">Plugin Website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.blockvisibilitywp.com\u002Fknowledge-base\u002F?bv_query=readme&utm_source=block_visibility&utm_medium=plugin&utm_campaign=readme\" rel=\"nofollow ugc\">Knowledge Base\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCDsTrm-1766AmNqwdzwJ4KQ\" rel=\"nofollow ugc\">YouTube Channel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FBlockVisibility\" rel=\"nofollow ugc\">Follow on Twitter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fndiego\u002Fblock-visibility\" rel=\"nofollow ugc\">View on GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily show or hide any WordPress block. Schedule block visibility. Restrict blocks to specific screen sizes, user roles, post types, and more.",40000,558597,98,104,"2026-01-18T23:44:00.000Z","6.5","7.4",[94,141,142,143,144],"conditional-content","dynamic-content","restrict-blocks","visibility","https:\u002F\u002Fwww.blockvisibilitywp.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblock-visibility.3.7.1.zip",100,{"attackSurface":149,"codeSignals":408,"taintFlows":711,"riskAssessment":712,"analyzedAt":724},{"hooks":150,"ajaxHandlers":276,"restRoutes":393,"shortcodes":394,"cronEvents":406,"entryPointCount":407,"unprotectedCount":190},[151,156,160,165,169,172,174,179,183,187,191,194,198,202,204,207,210,214,216,218,220,223,226,230,234,237,240,243,245,248,250,252,254,257,260,262,264,268,271,274],{"type":152,"name":153,"callback":154,"file":155,"line":35},"action","widgets_init","mvn_widget_logout_register","addons\\widgets\\logout\\mvn_widget_logout.php",{"type":152,"name":157,"callback":157,"file":158,"line":159},"init","controllers\\maven-member-auto-logout-class.php",8,{"type":152,"name":161,"callback":162,"priority":163,"file":158,"line":164},"wp_login","update_login_time",1,13,{"type":152,"name":166,"callback":167,"priority":163,"file":158,"line":168},"get_header","on_page_load",14,{"type":152,"name":170,"callback":167,"priority":163,"file":158,"line":171},"admin_init",15,{"type":152,"name":157,"callback":157,"file":173,"line":123},"controllers\\maven-member-blocker-class.php",{"type":175,"name":176,"callback":177,"priority":14,"file":173,"line":178},"filter","login_redirect","is_active_user",23,{"type":175,"name":180,"callback":181,"priority":46,"file":173,"line":182},"authenticate","is_authentic_user",24,{"type":152,"name":184,"callback":185,"file":173,"line":186},"dbx_post_advanced","validate_edit_page",25,{"type":175,"name":188,"callback":189,"file":173,"line":190},"the_content","validate_content",29,{"type":175,"name":192,"callback":193,"file":173,"line":34},"the_post","validate_title",{"type":175,"name":195,"callback":196,"file":173,"line":197},"the_excerpt","validate_excerpt",31,{"type":175,"name":199,"callback":200,"file":173,"line":201},"comments_template","hide_comments",283,{"type":152,"name":157,"callback":157,"file":203,"line":168},"controllers\\maven-member-categories-class.php",{"type":152,"name":205,"callback":206,"file":203,"line":46},"category_add_form_fields","add_fields",{"type":152,"name":208,"callback":206,"file":203,"line":209},"category_edit_form_fields",21,{"type":152,"name":211,"callback":212,"file":203,"line":213},"edited_category","save_fields",22,{"type":152,"name":215,"callback":212,"file":203,"line":178},"created_category",{"type":152,"name":157,"callback":157,"file":217,"line":14},"controllers\\maven-member-fields-class.php",{"type":152,"name":157,"callback":157,"file":219,"line":11},"controllers\\maven-member-manager-class.php",{"type":152,"name":221,"callback":221,"file":219,"line":222},"admin_menu",120,{"type":152,"name":224,"callback":224,"file":219,"line":225},"admin_bar_menu",123,{"type":152,"name":227,"callback":228,"file":219,"line":229},"admin_print_styles","add_styles",125,{"type":152,"name":231,"callback":232,"file":219,"line":233},"admin_enqueue_scripts","add_scripts",126,{"type":152,"name":157,"callback":157,"file":235,"line":236},"controllers\\maven-member-pages-class.php",17,{"type":152,"name":238,"callback":239,"file":235,"line":178},"save_post","save_data",{"type":152,"name":241,"callback":242,"file":235,"line":182},"add_meta_boxes","add_customBox",{"type":152,"name":157,"callback":157,"file":244,"line":171},"controllers\\maven-member-registration-class.php",{"type":152,"name":157,"callback":157,"file":246,"line":247},"controllers\\maven-member-settings-class.php",42,{"type":152,"name":157,"callback":157,"file":249,"line":159},"controllers\\maven-member-short-codes-class.php",{"type":152,"name":157,"callback":157,"file":251,"line":14},"controllers\\maven-member-users-class.php",{"type":152,"name":253,"callback":206,"file":251,"line":236},"edit_user_profile",{"type":152,"name":255,"callback":206,"file":251,"line":256},"show_user_profile",18,{"type":152,"name":258,"callback":212,"file":251,"line":259},"personal_options_update",19,{"type":152,"name":261,"callback":212,"file":251,"line":46},"edit_user_profile_update",{"type":152,"name":253,"callback":263,"file":251,"line":178},"add_roles_fields",{"type":152,"name":265,"callback":266,"priority":14,"file":251,"line":267},"profile_update","save_roles",26,{"type":152,"name":269,"callback":266,"file":251,"line":270},"user_register",28,{"type":175,"name":272,"callback":273,"file":251,"line":197},"editable_roles","filter_editable_roles",{"type":152,"name":157,"callback":157,"file":275,"line":159},"controllers\\maven-member-wizard-class.php",[277,282,286,290,294,298,302,306,310,314,318,322,326,330,334,338,342,346,350,354,358,362,365,369,373,377,381,385,389],{"action":278,"nopriv":279,"callback":280,"hasNonce":279,"hasCapCheck":279,"file":219,"line":281},"maven_roles_add",false,"ajax_add_role",137,{"action":283,"nopriv":279,"callback":284,"hasNonce":279,"hasCapCheck":279,"file":219,"line":285},"maven_roles_update","ajax_update_role",138,{"action":287,"nopriv":279,"callback":288,"hasNonce":279,"hasCapCheck":279,"file":219,"line":289},"maven_roles_remove","ajax_remove_role",139,{"action":291,"nopriv":279,"callback":292,"hasNonce":279,"hasCapCheck":279,"file":219,"line":293},"maven_roles_get_users_by_role","ajax_get_users_by_role",140,{"action":295,"nopriv":279,"callback":296,"hasNonce":279,"hasCapCheck":279,"file":219,"line":297},"maven_roles_get_all","ajax_get_roles",141,{"action":299,"nopriv":279,"callback":300,"hasNonce":279,"hasCapCheck":279,"file":219,"line":301},"maven_roles_get_roles_by_user","ajax_get_roles_by_user",142,{"action":303,"nopriv":279,"callback":304,"hasNonce":279,"hasCapCheck":279,"file":219,"line":305},"maven_users_add_role_to_user","ajax_add_roles_to_user",144,{"action":307,"nopriv":279,"callback":308,"hasNonce":279,"hasCapCheck":279,"file":219,"line":309},"maven_users_get_all","ajax_get_users",146,{"action":311,"nopriv":279,"callback":312,"hasNonce":279,"hasCapCheck":279,"file":219,"line":313},"maven_users_reset_roles","ajax_reset_roles",147,{"action":315,"nopriv":279,"callback":316,"hasNonce":279,"hasCapCheck":279,"file":219,"line":317},"maven_users_enable_user","ajax_enable_user",148,{"action":319,"nopriv":279,"callback":320,"hasNonce":279,"hasCapCheck":279,"file":219,"line":321},"maven_users_save_user","ajax_save_user",149,{"action":323,"nopriv":279,"callback":324,"hasNonce":279,"hasCapCheck":279,"file":219,"line":325},"maven_users_delete_user","ajax_delete_user",150,{"action":327,"nopriv":279,"callback":328,"hasNonce":279,"hasCapCheck":279,"file":219,"line":329},"maven_users_add","ajax_add_user",151,{"action":331,"nopriv":279,"callback":332,"hasNonce":279,"hasCapCheck":279,"file":219,"line":333},"maven_pages_save_template_roles","ajax_save_page_template_roles",153,{"action":335,"nopriv":279,"callback":336,"hasNonce":279,"hasCapCheck":279,"file":219,"line":337},"maven_setting_save","ajax_save_setting",155,{"action":339,"nopriv":279,"callback":340,"hasNonce":279,"hasCapCheck":279,"file":219,"line":341},"maven_setting_save_captchas","save_captchas",156,{"action":343,"nopriv":279,"callback":344,"hasNonce":279,"hasCapCheck":279,"file":219,"line":345},"maven_setting_reset","ajax_reset_settings",157,{"action":347,"nopriv":279,"callback":348,"hasNonce":279,"hasCapCheck":279,"file":219,"line":349},"maven_category_get_roles","ajax_get_category_roles",159,{"action":351,"nopriv":279,"callback":352,"hasNonce":279,"hasCapCheck":279,"file":219,"line":353},"maven_categories_add_roles","ajax_add_roles",160,{"action":355,"nopriv":279,"callback":356,"hasNonce":279,"hasCapCheck":279,"file":219,"line":357},"maven_categories_add","ajax_add_category",161,{"action":359,"nopriv":279,"callback":360,"hasNonce":279,"hasCapCheck":279,"file":219,"line":361},"maven_categories_delete","ajax_delete_category",162,{"action":363,"nopriv":279,"callback":312,"hasNonce":279,"hasCapCheck":279,"file":219,"line":364},"maven_categories_reset_roles",163,{"action":366,"nopriv":279,"callback":367,"hasNonce":279,"hasCapCheck":279,"file":219,"line":368},"maven_categories_update","ajax_update_category",164,{"action":370,"nopriv":279,"callback":371,"hasNonce":279,"hasCapCheck":279,"file":219,"line":372},"maven_import_import_users","import_users",166,{"action":374,"nopriv":279,"callback":375,"hasNonce":279,"hasCapCheck":279,"file":219,"line":376},"maven_import_remove_users","remove_users",167,{"action":378,"nopriv":279,"callback":379,"hasNonce":279,"hasCapCheck":279,"file":219,"line":380},"maven_registration_update_fields_to_display","ajax_update_fields_to_display",169,{"action":382,"nopriv":279,"callback":383,"hasNonce":279,"hasCapCheck":279,"file":219,"line":384},"maven_registration_insert_field","ajax_insert_field",170,{"action":386,"nopriv":279,"callback":387,"hasNonce":279,"hasCapCheck":279,"file":219,"line":388},"maven_registration_remove_field","ajax_remove_field",171,{"action":390,"nopriv":279,"callback":391,"hasNonce":279,"hasCapCheck":279,"file":219,"line":392},"maven_registration_reset_fields","ajax_reset_fields",172,[],[395,399,403],{"tag":396,"callback":397,"file":173,"line":398},"mvn-block","my_shortcode_handler",16,{"tag":400,"callback":401,"file":249,"line":402},"mvn-login","shortcode_login",12,{"tag":404,"callback":405,"file":249,"line":168},"mvn-registration","shortcode_registration",[],32,{"dangerousFunctions":409,"sqlUsage":415,"outputEscaping":418,"fileOperations":32,"externalRequests":163,"nonceChecks":466,"capabilityChecks":236,"bundledLibraries":707},[410],{"fn":411,"file":412,"line":413,"context":414},"unserialize","models\\maven-member-base-model.php",37,"$option = unserialize($option[0]->option_value);",{"prepared":416,"raw":27,"locations":417},5,[],{"escaped":416,"rawEcho":419,"locations":420},191,[421,423,424,425,426,428,430,431,432,433,435,436,437,439,441,443,446,448,450,452,454,455,456,457,458,460,461,462,464,467,468,469,470,471,472,473,474,476,477,478,479,480,481,482,483,484,486,487,489,490,492,493,494,496,497,498,499,500,502,504,505,507,508,509,511,512,514,516,517,518,519,521,522,523,524,525,527,529,531,533,535,538,540,541,542,543,545,547,549,550,552,553,554,555,557,559,561,562,564,566,567,569,570,571,573,574,575,576,578,580,582,584,585,587,589,591,593,595,597,598,600,602,604,606,608,610,612,613,614,616,618,619,620,621,622,623,625,627,628,631,633,634,635,637,638,640,641,643,645,647,648,650,652,653,655,656,657,658,660,662,664,666,667,668,670,672,673,674,676,677,678,679,680,682,684,685,686,687,688,691,692,694,695,697,698,700,701,702,703,704,706],{"file":155,"line":197,"context":422},"raw output",{"file":155,"line":407,"context":422},{"file":155,"line":407,"context":422},{"file":155,"line":407,"context":422},{"file":155,"line":427,"context":422},36,{"file":155,"line":429,"context":422},38,{"file":155,"line":429,"context":422},{"file":155,"line":429,"context":422},{"file":155,"line":247,"context":422},{"file":155,"line":434,"context":422},43,{"file":155,"line":434,"context":422},{"file":155,"line":434,"context":422},{"file":155,"line":438,"context":422},78,{"file":155,"line":440,"context":422},79,{"file":155,"line":442,"context":422},80,{"file":444,"line":445,"context":422},"controllers\\maven-member-base-class.php",185,{"file":246,"line":447,"context":422},74,{"file":246,"line":449,"context":422},336,{"file":451,"line":267,"context":422},"js\\tinymce\\views\\general.php",{"file":451,"line":453,"context":422},27,{"file":451,"line":270,"context":422},{"file":451,"line":190,"context":422},{"file":451,"line":34,"context":422},{"file":451,"line":197,"context":422},{"file":451,"line":459,"context":422},89,{"file":451,"line":77,"context":422},{"file":451,"line":77,"context":422},{"file":412,"line":463,"context":422},65,{"file":465,"line":466,"context":422},"views\\admin\\backup\\roles-view_1.php",4,{"file":465,"line":168,"context":422},{"file":465,"line":236,"context":422},{"file":465,"line":256,"context":422},{"file":465,"line":209,"context":422},{"file":465,"line":213,"context":422},{"file":465,"line":186,"context":422},{"file":465,"line":186,"context":422},{"file":475,"line":466,"context":422},"views\\admin\\backup\\users-view.php",{"file":475,"line":168,"context":422},{"file":475,"line":236,"context":422},{"file":475,"line":256,"context":422},{"file":475,"line":209,"context":422},{"file":475,"line":213,"context":422},{"file":475,"line":186,"context":422},{"file":475,"line":453,"context":422},{"file":475,"line":190,"context":422},{"file":475,"line":485,"context":422},33,{"file":475,"line":485,"context":422},{"file":488,"line":466,"context":422},"views\\admin\\base-view.php",{"file":488,"line":256,"context":422},{"file":491,"line":163,"context":422},"views\\admin\\box-view.php",{"file":491,"line":48,"context":422},{"file":491,"line":416,"context":422},{"file":495,"line":163,"context":422},"views\\admin\\categories-view.php",{"file":495,"line":186,"context":422},{"file":495,"line":267,"context":422},{"file":495,"line":267,"context":422},{"file":495,"line":267,"context":422},{"file":495,"line":501,"context":422},70,{"file":495,"line":503,"context":422},72,{"file":495,"line":447,"context":422},{"file":495,"line":506,"context":422},76,{"file":495,"line":440,"context":422},{"file":495,"line":442,"context":422},{"file":495,"line":510,"context":422},81,{"file":495,"line":26,"context":422},{"file":495,"line":513,"context":422},112,{"file":495,"line":515,"context":422},113,{"file":495,"line":515,"context":422},{"file":495,"line":515,"context":422},{"file":495,"line":222,"context":422},{"file":520,"line":171,"context":422},"views\\admin\\dashboard-view.php",{"file":520,"line":236,"context":422},{"file":520,"line":453,"context":422},{"file":520,"line":453,"context":422},{"file":520,"line":190,"context":422},{"file":520,"line":526,"context":422},39,{"file":520,"line":528,"context":422},41,{"file":520,"line":530,"context":422},51,{"file":520,"line":532,"context":422},53,{"file":520,"line":534,"context":422},94,{"file":536,"line":537,"context":422},"views\\admin\\fields-view.php",86,{"file":536,"line":539,"context":422},88,{"file":536,"line":459,"context":422},{"file":536,"line":100,"context":422},{"file":536,"line":122,"context":422},{"file":536,"line":544,"context":422},96,{"file":536,"line":546,"context":422},103,{"file":536,"line":548,"context":422},106,{"file":536,"line":285,"context":422},{"file":551,"line":34,"context":422},"views\\admin\\import-view.php",{"file":551,"line":197,"context":422},{"file":551,"line":197,"context":422},{"file":551,"line":197,"context":422},{"file":551,"line":556,"context":422},64,{"file":558,"line":163,"context":422},"views\\admin\\roles-view.php",{"file":558,"line":560,"context":422},63,{"file":558,"line":463,"context":422},{"file":558,"line":563,"context":422},67,{"file":558,"line":565,"context":422},68,{"file":558,"line":501,"context":422},{"file":558,"line":568,"context":422},71,{"file":558,"line":438,"context":422},{"file":558,"line":136,"context":422},{"file":572,"line":163,"context":422},"views\\admin\\settings-view.php",{"file":572,"line":32,"context":422},{"file":572,"line":442,"context":422},{"file":572,"line":26,"context":422},{"file":572,"line":577,"context":422},109,{"file":572,"line":579,"context":422},124,{"file":572,"line":581,"context":422},183,{"file":572,"line":583,"context":422},184,{"file":572,"line":583,"context":422},{"file":572,"line":586,"context":422},234,{"file":572,"line":588,"context":422},246,{"file":572,"line":590,"context":422},257,{"file":572,"line":592,"context":422},265,{"file":572,"line":594,"context":422},294,{"file":572,"line":596,"context":422},295,{"file":572,"line":596,"context":422},{"file":572,"line":599,"context":422},304,{"file":572,"line":601,"context":422},310,{"file":572,"line":603,"context":422},313,{"file":572,"line":605,"context":422},320,{"file":572,"line":607,"context":422},323,{"file":572,"line":609,"context":422},353,{"file":611,"line":270,"context":422},"views\\admin\\templates-view.php",{"file":611,"line":34,"context":422},{"file":611,"line":407,"context":422},{"file":611,"line":615,"context":422},34,{"file":611,"line":617,"context":422},35,{"file":611,"line":427,"context":422},{"file":611,"line":563,"context":422},{"file":611,"line":565,"context":422},{"file":611,"line":565,"context":422},{"file":611,"line":565,"context":422},{"file":611,"line":624,"context":422},75,{"file":626,"line":466,"context":422},"views\\admin\\test-view.php",{"file":626,"line":159,"context":422},{"file":629,"line":630,"context":422},"views\\admin\\users-view.php",44,{"file":629,"line":632,"context":422},45,{"file":629,"line":632,"context":422},{"file":629,"line":632,"context":422},{"file":629,"line":636,"context":422},107,{"file":629,"line":577,"context":422},{"file":629,"line":639,"context":422},111,{"file":629,"line":515,"context":422},{"file":629,"line":642,"context":422},115,{"file":629,"line":644,"context":422},117,{"file":629,"line":646,"context":422},119,{"file":629,"line":222,"context":422},{"file":629,"line":649,"context":422},121,{"file":629,"line":651,"context":422},122,{"file":629,"line":225,"context":422},{"file":629,"line":654,"context":422},128,{"file":629,"line":654,"context":422},{"file":629,"line":281,"context":422},{"file":629,"line":293,"context":422},{"file":629,"line":659,"context":422},143,{"file":629,"line":661,"context":422},177,{"file":629,"line":663,"context":422},192,{"file":629,"line":665,"context":422},193,{"file":629,"line":665,"context":422},{"file":629,"line":665,"context":422},{"file":629,"line":669,"context":422},200,{"file":671,"line":501,"context":422},"views\\admin\\wizard-view.php",{"file":671,"line":503,"context":422},{"file":671,"line":624,"context":422},{"file":671,"line":675,"context":422},77,{"file":671,"line":438,"context":422},{"file":671,"line":440,"context":422},{"file":671,"line":442,"context":422},{"file":671,"line":654,"context":422},{"file":671,"line":681,"context":422},130,{"file":671,"line":683,"context":422},133,{"file":671,"line":281,"context":422},{"file":671,"line":285,"context":422},{"file":671,"line":289,"context":422},{"file":671,"line":345,"context":422},{"file":689,"line":690,"context":422},"views\\admin\\wp-category-form-view.php",9,{"file":689,"line":14,"context":422},{"file":693,"line":32,"context":422},"views\\admin\\wp-page-form-view.php",{"file":693,"line":48,"context":422},{"file":696,"line":14,"context":422},"views\\admin\\wp-user-form-roles-view.php",{"file":696,"line":164,"context":422},{"file":699,"line":690,"context":422},"views\\admin\\wp-user-form-view.php",{"file":699,"line":690,"context":422},{"file":699,"line":402,"context":422},{"file":699,"line":402,"context":422},{"file":699,"line":402,"context":422},{"file":705,"line":159,"context":422},"views\\registration-view.php",{"file":705,"line":168,"context":422},[708],{"name":709,"version":28,"knownCves":710},"TinyMCE",[],[],{"summary":713,"deductions":714},"The maven-member plugin exhibits a concerning security posture primarily due to a large number of AJAX handlers lacking authentication checks. While the plugin shows strength in its use of prepared statements for SQL queries and has no recorded vulnerability history, the unprotected entry points create a significant attack surface. The presence of the `unserialize` function, even without immediate taint flow indicators, is a potential risk that requires careful monitoring. The low percentage of properly escaped output is another area of concern, as it could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is not handled correctly before being displayed.\n\nDespite the positive indicators like no CVEs and secure SQL practices, the high number of unprotected AJAX endpoints represents a critical weakness. Attackers could potentially exploit these endpoints to perform unauthorized actions or gather sensitive information. The `unserialize` function also introduces a latent risk, as it can be exploited if an attacker can control the serialized data that gets processed. The limited output escaping further exacerbates these risks by increasing the likelihood of XSS vulnerabilities.\n\nIn conclusion, while the absence of historical vulnerabilities and secure database practices are positive, the plugin's security is significantly undermined by its numerous unprotected AJAX handlers and insufficient output escaping. The presence of `unserialize` adds another layer of potential risk. Recommendations should focus on implementing robust authentication and capability checks for all AJAX handlers and ensuring all output is properly escaped to mitigate the identified risks.",[715,717,719,722],{"reason":716,"points":14},"AJAX handlers without auth checks",{"reason":718,"points":159},"Dangerous function: unserialize",{"reason":720,"points":721},"Low percentage of properly escaped output",7,{"reason":723,"points":48},"Bundled libraries: TinyMCE (potential for outdated version)","2026-03-16T22:10:29.388Z",{"wat":726,"direct":759},{"assetPaths":727,"generatorPatterns":742,"scriptPaths":743,"versionParams":744},[728,729,730,731,732,733,734,735,736,737,738,739,740,741],"\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fcss\u002Fwp-maven.css","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fcss\u002Fimpromptu.css","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fcss\u002Ftabs.css","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fmaven-member-admin.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fjquery-impromptu.3.1.min.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-roles.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-users.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-categories.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-registration.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-templates.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-import.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-wizard.js","\u002Fwp-content\u002Fplugins\u002Fmaven-member\u002Fjs\u002Fadmin\u002Fmaven-member-settings.js",[],[732,733,734,735,736,737,738,739,740,741],[745,746,747,748,749,750,751,752,753,754,755,756,757,758],"maven-member\u002Fcss\u002Fadmin.css?ver=","maven-member\u002Fcss\u002Fwp-maven.css?ver=","maven-member\u002Fcss\u002Fimpromptu.css?ver=","maven-member\u002Fcss\u002Ftabs.css?ver=","maven-member\u002Fjs\u002Fmaven-member-admin.js?ver=","maven-member\u002Fjs\u002Fjquery-impromptu.3.1.min.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-roles.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-users.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-categories.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-registration.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-templates.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-import.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-wizard.js?ver=","maven-member\u002Fjs\u002Fadmin\u002Fmaven-member-settings.js?ver=",{"cssClasses":760,"htmlComments":773,"htmlAttributes":774,"restEndpoints":776,"jsGlobals":777,"shortcodeOutput":779},[761,762,763,764,765,766,767,768,769,770,771,772],"maven_wp_admin-css","maven_admin-css","maven_admin-impromptu","tabs","maven_admin_roles","maven_admin_users","maven_admin_categories","maven_admin_registration","maven_admin_templates","maven_admin_import","maven_admin_wizard","maven_admin_settings",[],[775],"data-wbm-member",[],[778],"mavenConfig",[]]