[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f6BCsXJGXn17drqH1fG8l7icG26_gh-oPAqHcf2DZyWg":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":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":139,"fingerprints":196},"menu-visibility-control","Menu Visibility Control","1.0.9","Davis Simiyu Wanyonyi","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavisw3\u002F","\u003Cp>\u003Cstrong>Menu Visibility Control\u003C\u002Fstrong> is a lightweight, privacy-friendly WordPress plugin that lets you decide exactly \u003Cstrong>who sees each menu item\u003C\u002Fstrong>, directly inside the WordPress menu editor.\u003C\u002Fp>\n\u003Cp>No settings pages.\u003Cbr \u002F>\nNo lock-in.\u003Cbr \u002F>\nNo performance overhead.\u003C\u002Fp>\n\u003Cp>Everything is managed where it belongs: \u003Cstrong>Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Menus\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>👁️ Visibility Options Per Menu Item\u003C\u002Fh3>\n\u003Cp>You can control visibility based on:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>👥 Everyone\u003C\u002Fli>\n\u003Cli>🔒 Logged-in users\u003C\u002Fli>\n\u003Cli>🚪 Logged-out users\u003C\u002Fli>\n\u003Cli>🧩 Specific user roles (Administrator, Editor, Subscriber, etc.)\u003C\u002Fli>\n\u003Cli>📱 Device type (Desktop \u002F Tablet \u002F Mobile)\u003C\u002Fli>\n\u003Cli>📄 Specific pages (auto-detected list)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All conditions are optional and safely combined.\u003C\u002Fp>\n\u003Ch3>💡 Perfect For\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Membership and community websites\u003C\u002Fli>\n\u003Cli>Client dashboards and intranets\u003C\u002Fli>\n\u003Cli>Multi-role WordPress sites\u003C\u002Fli>\n\u003Cli>Sites with mobile-specific navigation\u003C\u002Fli>\n\u003Cli>Blogs that need different menus for visitors vs members\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔧 Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Native integration with \u003Cstrong>Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Menus\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Works with \u003Cstrong>any theme or page builder\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Role-based menu visibility\u003C\u002Fli>\n\u003Cli>Device-based menu visibility\u003C\u002Fli>\n\u003Cli>Page-specific menu visibility\u003C\u002Fli>\n\u003Cli>Auto-hidden UI (only shows options when enabled)\u003C\u002Fli>\n\u003Cli>Secure (nonces, sanitization, strict validation)\u003C\u002Fli>\n\u003Cli>Performance-optimized (runs only during menu rendering)\u003C\u002Fli>\n\u003Cli>100% free, open-source, and donation-supported\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🧠 Why Use Menu Visibility Control?\u003C\u002Fh3>\n\u003Cp>Unlike large menu or membership plugins, this plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Uses \u003Cstrong>only WordPress core hooks\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Stores \u003Cstrong>minimal metadata\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Is compatible with caching, multilingual sites, and block themes\u003C\u002Fli>\n\u003Cli>Does not track users or collect data\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>It does one thing — and does it well.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Need help or want to share feedback?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Visit the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmenu-visibility-control\u002F\" rel=\"ugc\">support forum\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Leave a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmenu-visibility-control\u002Freviews\u002F#new-post\" rel=\"ugc\">review\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Support development via \u003Ca href=\"https:\u002F\u002Fknowledge.buzz\u002Fdonate\" rel=\"nofollow ugc\">donation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the \u003Cstrong>GPL v2 or later\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>You are free to use, modify, and redistribute it under the same license.\u003C\u002Fp>\n\u003Cp>Code is Poetry. ❤️\u003C\u002Fp>\n","Control WordPress menu item visibility based on login status, user roles, device type, or specific pages — lightweight and theme-agnostic.",200,954,100,3,"2026-01-05T13:40:00.000Z","6.9.4","5.8","7.2",[20,21,22,23,24],"conditional","menu","navigation","roles","visibility","https:\u002F\u002Fknowledge.buzz\u002Fmenu-visibility-control","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmenu-visibility-control.1.0.9.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"davisw3",1,30,94,"2026-04-04T06:47:01.432Z",[38,63,80,100,123],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":59,"download_link":60,"security_score":61,"vuln_count":33,"unpatched_count":27,"last_vuln_date":62,"fetched_at":29},"different-menus-in-different-pages","Different Menu in Different Pages – Conditional Menu","2.4.5","recorp","https:\u002F\u002Fprofiles.wordpress.org\u002Frecorp\u002F","\u003Cp>\u003Cstrong>Different Menu in Different Pages\u003C\u002Fstrong> lets you control menu visibility with flexible conditional rules.\u003Cbr \u002F>\nDisplay unique navigation menus based on \u003Cstrong>pages, posts, categories, tags, templates, user roles, devices,\u003C\u002Fstrong> and more — creating a fully personalized user experience.\u003C\u002Fp>\n\u003Cp>For example:\u003Cbr \u002F>\n– Show one menu on your homepage and a different one on product pages.\u003Cbr \u002F>\n– Display menus only for logged-in users or specific user roles.\u003Cbr \u002F>\n– Assign menus dynamically by URL patterns, post types, or page templates.\u003C\u002Fp>\n\u003Ch3>🎯 Key Features\u003C\u002Fh3>\n\u003Cp>✓ Show menus to \u003Cstrong>logged-in\u003C\u002Fstrong>, \u003Cstrong>logged-out\u003C\u002Fstrong>, or \u003Cstrong>all\u003C\u002Fstrong> users.\u003Cbr \u002F>\n✓ Restrict menus by \u003Cstrong>user roles\u003C\u002Fstrong> or exclude certain roles.\u003Cbr \u002F>\n✓ Insert dynamic data in menu items using shortcodes:\u003Cbr \u002F>\n      {username}, \u003Ccode>{display_name}\u003C\u002Fcode>, \u003Ccode>{first_name}\u003C\u002Fcode>, \u003Ccode>{last_name}\u003C\u002Fcode>, \u003Ccode>{nickname}\u003C\u002Fcode>, \u003Ccode>{email}\u003C\u002Fcode>, \u003Ccode>{avatar}\u003C\u002Fcode> (with size options).\u003Cbr \u002F>\n✓ Create \u003Cstrong>unlimited conditional menus\u003C\u002Fstrong> from the settings page.\u003Cbr \u002F>\n✓ Assign menus by \u003Cstrong>exact URL\u003C\u002Fstrong>, \u003Cstrong>page ID\u003C\u002Fstrong>, \u003Cstrong>slug\u003C\u002Fstrong>, or \u003Cstrong>URL pattern\u003C\u002Fstrong> (\u003Ccode>%keyword%\u003C\u002Fcode>).\u003Cbr \u002F>\n✓ Assign menus to \u003Cstrong>special pages\u003C\u002Fstrong> (Home, Front Page, Blog, 404, Search).\u003Cbr \u002F>\n✓ Support for \u003Cstrong>RTL\u003C\u002Fstrong> (right-to-left) layouts.\u003Cbr \u002F>\n✓ Duplicate any existing menu using the \u003Cstrong>Menu Duplicator\u003C\u002Fstrong> tool.\u003Cbr \u002F>\n✓ Modern AJAX-based interface for fast settings updates.\u003C\u002Fp>\n\u003Ch3>🌟 Pro Features\u003C\u002Fh3>\n\u003Cp>The \u003Cstrong>Pro version\u003C\u002Fstrong> includes even more control and flexibility:\u003C\u002Fp>\n\u003Cp>✓ Assign menus for \u003Cstrong>specific devices\u003C\u002Fstrong> (desktop, mobile, tablet) or \u003Cstrong>operating systems\u003C\u002Fstrong> (Android, iOS).\u003Cbr \u002F>\n✓ Create \u003Cstrong>multilingual or country-specific\u003C\u002Fstrong> menus (no extra plugins needed).\u003Cbr \u002F>\n✓ Quick \u003Cstrong>search filter\u003C\u002Fstrong> for settings.\u003Cbr \u002F>\n✓ Assign menus directly from the \u003Cstrong>post\u002Fpage editor\u003C\u002Fstrong>.\u003Cbr \u002F>\n✓ \u003Cstrong>Backup & Restore\u003C\u002Fstrong> menu rules easily.\u003Cbr \u002F>\n✓ Temporarily \u003Cstrong>disable\u003C\u002Fstrong> a menu without deleting it.\u003Cbr \u002F>\n✓ \u003Cstrong>Unlimited conditional menus\u003C\u002Fstrong> support.\u003Cbr \u002F>\n✓ \u003Cstrong>Elementor header\u002Ffooter\u003C\u002Fstrong> navigation compatibility.\u003C\u002Fp>\n\u003Cp>👉 \u003Cstrong>Upgrade to the Pro version\u003C\u002Fstrong> for advanced functionality at \u003Ca href=\"https:\u002F\u002Fmyrecorp.com\" rel=\"nofollow ugc\">myrecorp.com\u003C\u002Fa>.\u003C\u002Fp>\n","Easily assign different menus to pages, posts, user roles, devices, and custom URLs using advanced conditional menu visibility rules.",4000,62783,82,20,"2025-10-19T13:10:00.000Z","6.8.5","5.1","5.4",[55,56,57,22,58],"conditional-menu","different-menu","menu-visibility","user-roles","https:\u002F\u002Fmyrecorp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdifferent-menus-in-different-pages.2.4.5.zip",99,"2024-04-29 00:00:00",{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":27,"downloaded":71,"rating":13,"num_ratings":33,"last_updated":72,"tested_up_to":51,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":78,"download_link":79,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"menu-ghost","Menu Ghost","2.0.1","Reza Sarailoo","https:\u002F\u002Fprofiles.wordpress.org\u002Fsarailoo\u002F","\u003Cp>Menu Ghost lets you conditionally display each menu item based on factors like user role, device, date, pages, and more.\u003C\u002Fp>\n\u003Cp>Design frictionless navigation experiences and boost conversions by only showing relevant menu items to each visitor. Menu Ghost integrates with the native WordPress menu editor and adds a modern conditions interface that feels like it belongs in core. Everything happens inside \u003Cstrong>Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Menus\u003C\u002Fstrong> (classic themes) or \u003Cstrong>Site Editor \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Navigation\u003C\u002Fstrong> (block themes) no shortcodes or template edits required.\u003C\u002Fp>\n\u003Ch3>What does Menu Ghost do?\u003C\u002Fh3>\n\u003Cp>Menu Ghost gives you total control over which navigation links appear and when. Build unlimited rule sets per menu item, combining audience, page, schedule, and campaign conditions. Hide seasonal promotions after a sale ends, display member-only dashboards, or show localized links based on browser language.\u003C\u002Fp>\n\u003Ch3>Key features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Audience targeting\u003C\u002Fstrong> – Show or hide menu items based on user role, login status, browser language, or detected device (desktop, tablet, mobile).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Page & post rules\u003C\u002Fstrong> – Limit links to specific pages, post types, taxonomies, archives, author archives, search results, or 404 pages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scheduling controls\u003C\u002Fstrong> – Activate items on selected weekdays, within date ranges, or during daily time windows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Campaign awareness\u003C\u002Fstrong> – React to query-string values, UTM parameters, or custom marketing links for landing pages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No-code workflow\u003C\u002Fstrong> – React-powered UI inside the existing menu screen. Toggle rules with familiar WordPress components.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlimited conditions\u003C\u002Fstrong> – Stack include\u002Fexclude rules to create precise logic for every menu item.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance friendly\u003C\u002Fstrong> – All logic runs server-side with cached WordPress APIs. No front-end scripts added to your theme.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Popular use cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Display a “Members Area” link only to logged-in customers on desktop.\u003C\u002Fli>\n\u003Cli>Promote a holiday sale on every page until a specific date\u002Ftime is reached.\u003C\u002Fli>\n\u003Cli>Replace “Book a call” with “Download brochure” on mobile visitors to boost conversions.\u003C\u002Fli>\n\u003Cli>Show “Return to checkout” when users view product archives, but hide it elsewhere.\u003C\u002Fli>\n\u003Cli>Localize navigation labels and URLs based on browser language or UTM campaigns.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why choose Menu Ghost?\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Native experience\u003C\u002Fstrong> – Built with the WordPress components library for a seamless admin UI.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean code & extensibility\u003C\u002Fstrong> – PHP logic follows core standards and stores data in post meta.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Marketing ready\u003C\u002Fstrong> – Understand traffic sources and tailor menus without page builders.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO aware\u003C\u002Fstrong> – Hide links for humans while keeping friendly markup for search engines (links still exist, only visibility changes).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The interface is built with React and uses WordPress components so it remains responsive, accessible, and familiar. All rule data is stored in post meta to keep compatibility with exports, migrations, and backups.\u003C\u002Fp>\n\u003Ch3>Rule reference\u003C\u002Fh3>\n\u003Ch4>Pages tab\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Include \u002F Exclude\u003C\u002Fstrong> – Decide whether a matching condition should show or hide the menu item.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Entire Site\u003C\u002Fstrong> – Create a catch-all rule that always fires. Place it below granular rules when you need fallback behavior.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Archive scopes\u003C\u002Fstrong> – Target date archives, author archives, taxonomy listings, WooCommerce product archives, search results, or even the 404 template.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Singular scopes\u003C\u002Fstrong> – Limit links to specific posts, pages, custom post types, parent\u002Fchild relationships, or taxonomy terms.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add Condition\u003C\u002Fstrong> – Stack unlimited rules. Menu Ghost evaluates them from top to bottom, so keep broad rules toward the bottom of the list.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Advanced tab\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>User Role\u003C\u002Fstrong> – Match any WordPress role, including custom roles added by eCommerce or membership plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User Device\u003C\u002Fstrong> – Detect desktop, tablet, or mobile visitors to tailor calls to action per device.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Login Status\u003C\u002Fstrong> – Serve different menu links to logged-in versus logged-out visitors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Signup Date\u003C\u002Fstrong> – Target members who registered before or after a specific date—ideal for onboarding flows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Browser Language\u003C\u002Fstrong> – Show localized links when the visitor’s browser shares a preferred language.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Days of the Week\u003C\u002Fstrong> – Toggle links on specific weekdays (e.g., “Weekend brunch menu”).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Within Date Range\u003C\u002Fstrong> – Schedule seasonal links to appear between two calendar dates without manual edits.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Within Time Window\u003C\u002Fstrong> – Display links only during a daily time slice, such as support hours or flash sales.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>URL Query Parameter\u003C\u002Fstrong> – Require a query-string key\u002Fvalue (like \u003Ccode>ref=partner\u003C\u002Fcode>) before the menu item appears.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>UTM Campaign \u002F Content \u002F Medium \u002F Source \u002F Term\u003C\u002Fstrong> – React to marketing URLs so visitors see campaign-specific navigation when arriving from ads or emails.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>The source code for Menu Ghost lives in the public repository at https:\u002F\u002Fgithub.com\u002Fsarailoo\u002Fmenu-ghost.\u003C\u002Fp>\n","Target menu items by role, device, schedule, and campaign rules using a fast, native conditions interface inside the menu editor.",247,"2025-11-25T22:20:00.000Z","6.6","8.0",[76,57,22,77,58],"conditional-menus","personalization","https:\u002F\u002Fgithub.com\u002Fsarailoo\u002Fmenu-ghost","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmenu-ghost.2.0.1.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":13,"num_ratings":14,"last_updated":90,"tested_up_to":51,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":98,"download_link":99,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"menu-by-user-roles","Menu By User Roles","2.0.4","kahnu044","https:\u002F\u002Fprofiles.wordpress.org\u002Fkahnu044\u002F","\u003Cp>Menu By User Roles is a WordPress plugin that allows you to control the visibility of menu items based on user roles. You can assign specific user roles to each menu item, ensuring that only users with those roles can see and access the corresponding links.\u003C\u002Fp>\n\u003Cp>For more information and usage instructions, visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkahnu044\u002Fmenu-by-user-roles\" rel=\"nofollow ugc\">GitHub Repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support and inquiries, please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkahnu044\u002Fmenu-by-user-roles\u002Fissues\" rel=\"nofollow ugc\">open an issue on GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is released under the GPL-2.0+ License. See \u003Ccode>LICENSE\u003C\u002Fcode> for more information.\u003C\u002Fp>\n\u003Ch3>Author\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkahnu044\" rel=\"nofollow ugc\">Kahnu Charan Swain\u003C\u002Fa>\u003C\u002Fp>\n","Menu By User Roles allows you to control the visibility of menu items based on user roles.",1000,8453,"2025-10-02T15:41:00.000Z","5.0","7.0",[94,95,96,97,58],"access-control","role-based-menus","site-navigation","tags-menu-visibility","https:\u002F\u002Fgithub.com\u002Fkahnu044\u002Fmenu-by-user-roles","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmenu-by-user-roles.2.0.4.zip",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":48,"num_ratings":110,"last_updated":111,"tested_up_to":112,"requires_at_least":113,"requires_php":114,"tags":115,"homepage":118,"download_link":119,"security_score":120,"vuln_count":121,"unpatched_count":27,"last_vuln_date":122,"fetched_at":29},"if-menu","If Menu – Visibility control for Menus","0.19.2","Andrei","https:\u002F\u002Fprofiles.wordpress.org\u002Fandreiigna\u002F","\u003Cp>Control what menu items your site’s visitors see, with visibility rules. Here are a few examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display a menu item only if \u003Ccode>User is logged in\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Hide menus if \u003Ccode>Device is mobile\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Display menus only for \u003Ccode>Admins and Editors\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Hide Login or Register links for \u003Ccode>Logged in Users\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Display menus for \u003Ccode>Users from US or UK\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Display menus only for \u003Ccode>Customers with active membership\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Display menus for visitors browsing with \u003Ccode>Language English or Spanish\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>After the plugin is enabled, each menu item will have a new option “Change menu item visibility” which will enable the selection of visibility rules.\u003C\u002Fp>\n\u003Cp>Check the examples in screenshots or try it here \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ca href=\"https:\u002F\u002Fdemos.layered.store\" rel=\"nofollow ugc\">demos.layered.store\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Basic set of visibility rules\n\u003Cul>\n\u003Cli>User state \u003Ccode>User is logged in\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>User roles \u003Ccode>Admin\u003C\u002Fcode> \u003Ccode>Editor\u003C\u002Fcode> \u003Ccode>Author\u003C\u002Fcode> etc\u003C\u002Fli>\n\u003Cli>Page type \u003Ccode>Front page\u003C\u002Fcode> \u003Ccode>Single page\u003C\u002Fcode> \u003Ccode>Single post\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Is Archive page (year, category, search results, etc)\u003C\u002Fli>\n\u003Cli>Visitor device \u003Ccode>Is Mobile\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Advanced visibility rules – requires \u003Ca href=\"https:\u002F\u002Flayered.store\u002Fplugins\u002Fmore-visibility-rules\" rel=\"nofollow ugc\">More Visibility Rules Add-on\u003C\u002Fa>\n\u003Cul>\n\u003Cli>Visitor location – detect visitor’s Country\u003C\u002Fli>\n\u003Cli>Visitor language – detect visitor’s selected Language\u003C\u002Fli>\n\u003Cli>WooCommerce Subscriptions – Display menus for users with active subscription\u003C\u002Fli>\n\u003Cli>WooCommerce Memberships – Display menus for customers with active membership plans\u003C\u002Fli>\n\u003Cli>Groups – Detect if users are in specific groups\u003C\u002Fli>\n\u003Cli>WishList Member – Detect the users’ membership level\u003C\u002Fli>\n\u003Cli>Restrict Content Pro – Detect the users’ subscription level\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Multiple rules – mix multiple rules for a menu item visibility\n\u003Cul>\n\u003Cli>show if \u003Ccode>User is logged in\u003C\u002Fcode> AND \u003Ccode>Device is mobile\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>show if \u003Ccode>User is Admin\u003C\u002Fcode> AND \u003Ccode>Is front page\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Support for \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fif-menu\u002F#how%20can%20i%20add%20a%20custom%20visibility%20rule%20for%20menu%20items%3F\" rel=\"ugc\">adding your custom rules\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Display tailored menu items to each visitor with visibility rules",60000,1091591,130,"2024-12-05T12:43:00.000Z","6.7.5","","6.0",[116,21,23,117,24],"hide","rules","https:\u002F\u002Flayered.store\u002Fplugins\u002Fif-menu","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fif-menu.0.19.2.zip",91,2,"2024-12-06 00:00:00",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":131,"downloaded":132,"rating":27,"num_ratings":27,"last_updated":133,"tested_up_to":112,"requires_at_least":91,"requires_php":92,"tags":134,"homepage":136,"download_link":137,"security_score":138,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"hide-menu-items-by-role","Hide Menu Items by Role","1.0.1","Mahfuzur Rahman","https:\u002F\u002Fprofiles.wordpress.org\u002Fmahfuzurwp\u002F","\u003Cp>This plugin allows you to hide menu items based on user roles. You can select which user roles should not be able to see each menu item when you create or edit a menu item.\u003C\u002Fp>\n\u003Cp>The plugin hides the menu items using fillters provided by the WP core which means we are not using any JavaScript or JQuery.\u003C\u002Fp>\n","A simple WordPress plugin to hide menu items based on user roles.",70,1846,"2024-12-01T06:47:00.000Z",[135,21,22,23,58],"hide-menu-items","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhide-menu-items-by-role","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhide-menu-items-by-role.1.0.1.zip",92,{"attackSurface":140,"codeSignals":181,"taintFlows":188,"riskAssessment":189,"analyzedAt":195},{"hooks":141,"ajaxHandlers":171,"restRoutes":178,"shortcodes":179,"cronEvents":180,"entryPointCount":33,"unprotectedCount":27},[142,148,152,159,163,167],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","admin_notices","mvc_show_menu_admin_notice","admin\\admin-notice.php",9,{"type":143,"name":149,"callback":150,"file":146,"line":151},"admin_enqueue_scripts","mvc_admin_notice_assets",93,{"type":153,"name":154,"callback":155,"priority":156,"file":157,"line":158},"filter","wp_nav_menu_objects","filter_menu_items",10,"menu-visibility-control.php",23,{"type":143,"name":160,"callback":161,"priority":156,"file":157,"line":162},"wp_nav_menu_item_custom_fields","add_custom_fields",24,{"type":143,"name":164,"callback":165,"priority":156,"file":157,"line":166},"wp_update_nav_menu_item","save_custom_fields",25,{"type":143,"name":168,"callback":169,"file":157,"line":170},"admin_footer-nav-menus.php","admin_inline_scripts",26,[172],{"action":173,"nopriv":174,"callback":175,"hasNonce":176,"hasCapCheck":174,"file":146,"line":177},"mvc_dismiss_notice",false,"mvc_dismiss_menu_notice",true,77,[],[],[],{"dangerousFunctions":182,"sqlUsage":183,"outputEscaping":185,"fileOperations":27,"externalRequests":27,"nonceChecks":121,"capabilityChecks":27,"bundledLibraries":187},[],{"prepared":27,"raw":27,"locations":184},[],{"escaped":162,"rawEcho":27,"locations":186},[],[],[],{"summary":190,"deductions":191},"The 'menu-visibility-control' plugin v1.0.9 demonstrates a strong security posture based on the provided static analysis.  All identified entry points, including the single AJAX handler, are protected by either nonce checks or capability checks, indicating a conscious effort to prevent unauthorized access and manipulation.  The code follows secure coding practices, with 100% of SQL queries using prepared statements and all output being properly escaped, which significantly mitigates risks of SQL injection and cross-site scripting (XSS) vulnerabilities.  The absence of file operations, external HTTP requests, and taint analysis findings further reinforces this positive security outlook.  The plugin's vulnerability history is completely clear, with no recorded CVEs, which suggests a history of secure development and maintenance.\n\nWhile the plugin exhibits excellent adherence to common security best practices, the static analysis did reveal a lack of explicit capability checks for the AJAX handler. Although nonce checks are present, relying solely on nonces for AJAX endpoint protection can be a weaker defense if nonces are not strictly validated or if they can be leaked.  A capability check would provide an additional layer of authorization, ensuring that only users with the appropriate permissions can interact with the AJAX endpoint.  Despite this, the overall security of the plugin appears robust due to the comprehensive security measures in place and the clean vulnerability history.",[192],{"reason":193,"points":194},"AJAX handler lacks capability checks",5,"2026-03-16T20:08:36.060Z",{"wat":197,"direct":202},{"assetPaths":198,"generatorPatterns":199,"scriptPaths":200,"versionParams":201},[],[],[],[],{"cssClasses":203,"htmlComments":208,"htmlAttributes":209,"restEndpoints":215,"jsGlobals":216,"shortcodeOutput":217},[204,205,206,207],"mvc-state","mvc-roles-wrap","mvc-page-mode","mvc-pages-wrap",[],[210,211,212,213,214],"name=\"menu-item-mvc-state","name=\"menu-item-mvc-roles","name=\"menu-item-mvc-device","name=\"menu-item-mvc-page-mode","name=\"menu-item-mvc-pages",[],[],[]]