[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fzR7I9J9zBAqwn9Cf_vq8Vd-b-UD9HcntUd7u7z1WY0o":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":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":49,"crawl_stats":38,"alternatives":56,"analysis":153,"fingerprints":442},"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",[20,21,22,23,24],"conditional-menu","different-menu","menu-visibility","navigation","user-roles","https:\u002F\u002Fmyrecorp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdifferent-menus-in-different-pages.2.4.5.zip",99,1,0,"2024-04-29 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2024-3206","different-menu-in-different-pages-control-menu-visibility-all-in-one-missing-authorization-to-menu-duplication","Different Menu in Different Pages – Control Menu Visibility (All in One) \u003C= 2.3.2 - Missing Authorization to Menu Duplication","The Different Menu in Different Pages – Control Menu Visibility (All in One) plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on the ajax() function in all versions up to, and including, 2.3.2. This makes it possible for authenticated attackers, with subscriber-level access and above, to duplicate menus.",null,"\u003C=2.3.2","2.4.0","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2024-05-21 16:31:46",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F1f9d4d86-9d5f-4888-9cc4-d55c117ae4ea?source=api-prod",23,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":50,"total_installs":51,"avg_security_score":52,"avg_patch_time_days":53,"trust_score":54,"computed_at":55},6,9990,88,52,80,"2026-04-04T09:32:52.356Z",[57,75,96,118,136],{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":29,"downloaded":65,"rating":66,"num_ratings":28,"last_updated":67,"tested_up_to":16,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":73,"download_link":74,"security_score":66,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"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,100,"2025-11-25T22:20:00.000Z","6.6","8.0",[71,22,23,72,24],"conditional-menus","personalization","https:\u002F\u002Fgithub.com\u002Fsarailoo\u002Fmenu-ghost","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmenu-ghost.2.0.1.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":83,"downloaded":84,"rating":66,"num_ratings":85,"last_updated":86,"tested_up_to":16,"requires_at_least":87,"requires_php":88,"tags":89,"homepage":94,"download_link":95,"security_score":66,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"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,3,"2025-10-02T15:41:00.000Z","5.0","7.0",[90,91,92,93,24],"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":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":66,"downloaded":104,"rating":52,"num_ratings":105,"last_updated":106,"tested_up_to":107,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":115,"download_link":116,"security_score":117,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"wp-different-navigation-on-each-page-and-post","WP Different Navigation on Each Page And Post","1.1","Rajesh Kumawat","https:\u002F\u002Fprofiles.wordpress.org\u002Frajeshkumawat78\u002F","\u003Cp>This plugin are display different-different navigation on each page and post.You Can easily setup different navigation or menu on pages and single posts. please follow these steps:\u003C\u002Fp>\n\u003Cp>Step 1: First click on “WP Different Navigation Box Settings” sub menu in settings menu in wordpress admin section. Then select Posttypes. You want to display “Different Navigation Box” MetaBox on Posttypes.\u003C\u002Fp>\n\u003Cp>Step 2: Select Menu in “Different Navigation Box” Metabox for Current Page\u002FPost Display Menu.\u003C\u002Fp>\n\u003Cp>Step 3: “WP Different Navigation Widget” put this widget you want display menu in widget area. and enter widget title and select default menu and click on save button.\u003C\u002Fp>\n\u003Cp>Easy to use Different Menu on the page or post by shortcode “\u003Cstrong>[wpdnepp_menu]\u003C\u002Fstrong>” Or Use This Code in Page Template \u003Cstrong>\u003Ccode>\u003C?php echo do_shortcode('[wpdnepp_menu]'); ?>\u003C\u002Fcode>\u003C\u002Fstrong>.\u003C\u002Fp>\n","This plugin are display different-different navigation on each page and post.You Can easily setup different navigation or menu on pages and single pos &hellip;",9061,7,"2024-06-21T07:14:00.000Z","6.0.11","3.0.1","",[111,21,112,113,114],"custom-navigation","different-navigation-page","different-different-menu-on-each-page","different-different-menu-on-each-post","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-different-navigation-on-each-page-and-post\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-different-navigation-on-each-page-and-post.zip",92,{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":29,"num_ratings":29,"last_updated":128,"tested_up_to":129,"requires_at_least":87,"requires_php":88,"tags":130,"homepage":134,"download_link":135,"security_score":117,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"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","6.7.5",[131,132,23,133,24],"hide-menu-items","menu","roles","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",{"slug":137,"name":138,"version":139,"author":140,"author_profile":141,"description":142,"short_description":143,"active_installs":144,"downloaded":145,"rating":29,"num_ratings":29,"last_updated":146,"tested_up_to":147,"requires_at_least":87,"requires_php":109,"tags":148,"homepage":109,"download_link":152,"security_score":66,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"if-menu-visibility","IF Menu Visibility","1.0.5","Valeri Kluger","https:\u002F\u002Fprofiles.wordpress.org\u002Fvalerikluger\u002F","\u003Cp>The IF Menu plugin adds a powerful yet simple feature to WordPress menus: conditional visibility.\u003C\u002Fp>\n\u003Cp>This plugin lets you control whether a specific menu item is:\u003Cbr \u002F>\n* Shown to all visitors\u003Cbr \u002F>\n* Shown only to logged-in users\u003Cbr \u002F>\n* Shown only to logged-out users\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Simple and intuitive interface\u003C\u002Fli>\n\u003Cli>Works seamlessly inside Appearance > Menus\u003C\u002Fli>\n\u003Cli>Lightweight and secure — no external libraries\u003C\u002Fli>\n\u003Cli>No performance impact or bloat\u003C\u002Fli>\n\u003Cli>Developed by Valeri Kluger (vk-projekte.de)\u003C\u002Fli>\n\u003C\u002Ful>\n","Add login-based visibility control to WordPress menus. Show or hide menu items depending on whether users are logged in or not.",30,476,"2025-12-12T20:45:00.000Z","6.9.4",[20,149,150,151,22],"if-menu","logged-in","logged-out","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fif-menu-visibility.1.0.5.zip",{"attackSurface":154,"codeSignals":302,"taintFlows":374,"riskAssessment":432,"analyzedAt":441},{"hooks":155,"ajaxHandlers":271,"restRoutes":297,"shortcodes":298,"cronEvents":299,"entryPointCount":215,"unprotectedCount":29},[156,162,165,170,174,178,183,187,192,197,201,204,207,211,216,219,222,225,230,234,239,243,245,247,249,251,253,256,258,262,264,268],{"type":157,"name":158,"callback":159,"priority":27,"file":160,"line":161},"filter","wp_nav_menu_args","change_nav_menu_arguments","admin\\class-different-menus-for-different-page-admin.php",61,{"type":157,"name":163,"callback":163,"file":160,"line":164},"after_menu_locations_table",63,{"type":166,"name":167,"callback":168,"file":160,"line":169},"action","after_setup_theme","remove_default_menu",65,{"type":157,"name":171,"callback":172,"file":160,"line":173},"admin_footer","goto_different_menu_page",68,{"type":166,"name":175,"callback":176,"file":160,"line":177},"admin_menu","different_menus_create_menu",72,{"type":157,"name":179,"callback":180,"priority":181,"file":160,"line":182},"plugin_row_meta","custom_plugin_row_meta",10,77,{"type":166,"name":184,"callback":185,"file":160,"line":186},"admin_init","different_menus_settings",225,{"type":166,"name":188,"callback":189,"file":190,"line":191},"admin_enqueue_scripts","enqueue_scripts","admin\\includes\\menu-item-settings.php",16,{"type":166,"name":193,"callback":194,"priority":195,"file":190,"line":196},"wp_nav_menu_item_custom_fields","add_menu_item_fields",2,17,{"type":166,"name":198,"callback":199,"priority":181,"file":190,"line":200},"wp_update_nav_menu_item","save_menu_item_fields",18,{"type":157,"name":202,"callback":203,"priority":181,"file":190,"line":14},"wp_get_nav_menu_items","hide_menu_items_for_logged_in_users",{"type":166,"name":175,"callback":205,"file":190,"line":206},"custom_nav_menu_metabox",22,{"type":157,"name":208,"callback":209,"priority":181,"file":190,"line":210},"walker_nav_menu_start_el","add_icon_to_menu_item",25,{"type":166,"name":212,"callback":213,"file":214,"line":215},"load-post.php","init_metabox","admin\\partials\\metabox.php",8,{"type":166,"name":217,"callback":213,"file":214,"line":218},"load-post-new.php",9,{"type":166,"name":220,"callback":221,"priority":181,"file":214,"line":191},"add_meta_boxes","add_metabox",{"type":166,"name":223,"callback":224,"priority":181,"file":214,"line":196},"save_post","save_metabox",{"type":166,"name":226,"callback":227,"file":228,"line":229},"after_different_menus_settings_page_end","implementSettingsTabs","admin\\partials\\tabOrganizer.php",14,{"type":166,"name":184,"callback":231,"file":232,"line":233},"recorp_different_menu_plugin_redirect","different-menus-in-different-page.php",54,{"type":166,"name":235,"callback":236,"file":237,"line":238},"admin_head","different_menu_cdata_adding_on_head","includes\\class-different-menus-for-different-page.php",87,{"type":166,"name":240,"callback":241,"file":237,"line":242},"plugins_loaded","anonymous",166,{"type":166,"name":188,"callback":241,"file":237,"line":244},182,{"type":166,"name":188,"callback":241,"file":237,"line":246},183,{"type":166,"name":188,"callback":241,"file":237,"line":248},186,{"type":166,"name":188,"callback":241,"file":237,"line":250},189,{"type":166,"name":188,"callback":241,"file":237,"line":252},190,{"type":166,"name":254,"callback":241,"file":237,"line":255},"wp_enqueue_scripts",513,{"type":166,"name":254,"callback":241,"file":237,"line":257},514,{"type":166,"name":259,"callback":260,"priority":181,"file":261,"line":218},"dmidp_daily_schedules","dmidp_active_cron_job_after_five_second","includes\\global_functions.php",{"type":166,"name":263,"callback":263,"file":261,"line":169},"dmidp_right_side_notice",{"type":166,"name":265,"callback":266,"file":261,"line":267},"admin_notices","dmidp_admin_notices",107,{"type":166,"name":265,"callback":269,"file":261,"line":270},"df_check_is_other_menu_condition_plugin_is_active",116,[272,276,281,284,287,290,293,296],{"action":273,"nopriv":274,"callback":273,"hasNonce":275,"hasCapCheck":274,"file":160,"line":54},"dmidp_notice_has_clicked",false,true,{"action":277,"nopriv":274,"callback":278,"hasNonce":275,"hasCapCheck":275,"file":279,"line":280},"backup_different_menus_data","ajax","admin\\includes\\AjaxRequests\\BackupDifferentMenusData.php",15,{"action":282,"nopriv":274,"callback":278,"hasNonce":275,"hasCapCheck":275,"file":283,"line":280},"create_duplicate_menu","admin\\includes\\AjaxRequests\\duplicate-menus.php",{"action":285,"nopriv":274,"callback":278,"hasNonce":275,"hasCapCheck":275,"file":286,"line":280},"remove_all_different_menus","admin\\includes\\AjaxRequests\\RemoveAllDifferentMenus.php",{"action":288,"nopriv":274,"callback":278,"hasNonce":275,"hasCapCheck":275,"file":289,"line":280},"remove_different_menu","admin\\includes\\AjaxRequests\\RemoveDifferentMenu.php",{"action":291,"nopriv":274,"callback":278,"hasNonce":275,"hasCapCheck":275,"file":292,"line":280},"save_different_menu_conditions","admin\\includes\\AjaxRequests\\save-different-menu-conditions.php",{"action":294,"nopriv":274,"callback":294,"hasNonce":275,"hasCapCheck":275,"file":237,"line":295},"ajax_paged_change",91,{"action":294,"nopriv":275,"callback":294,"hasNonce":275,"hasCapCheck":275,"file":237,"line":117},[],[],[300],{"hook":259,"callback":259,"file":261,"line":301},5,{"dangerousFunctions":303,"sqlUsage":308,"outputEscaping":310,"fileOperations":29,"externalRequests":28,"nonceChecks":218,"capabilityChecks":105,"bundledLibraries":373},[304],{"fn":305,"file":292,"line":306,"context":307},"unserialize",37,"$name = unserialize($name);",{"prepared":29,"raw":29,"locations":309},[],{"escaped":311,"rawEcho":144,"locations":312},809,[313,316,318,320,322,324,325,327,328,331,332,334,336,337,339,341,343,346,348,351,352,354,356,358,360,363,365,367,369,371],{"file":160,"line":314,"context":315},485,"raw output",{"file":317,"line":181,"context":315},"admin\\deactivate-reason\\deactivate_reason.php",{"file":317,"line":319,"context":315},12,{"file":317,"line":321,"context":315},53,{"file":317,"line":323,"context":315},57,{"file":317,"line":173,"context":315},{"file":317,"line":326,"context":315},69,{"file":317,"line":126,"context":315},{"file":329,"line":330,"context":315},"admin\\includes\\ajax-requests.php",55,{"file":292,"line":206,"context":315},{"file":292,"line":333,"context":315},28,{"file":190,"line":335,"context":315},179,{"file":190,"line":257,"context":315},{"file":190,"line":338,"context":315},522,{"file":340,"line":48,"context":315},"admin\\partials\\different-menus-for-different-page-admin-display.php",{"file":214,"line":342,"context":315},168,{"file":344,"line":345,"context":315},"admin\\partials\\TabItems\\PostTypes.php",38,{"file":344,"line":347,"context":315},84,{"file":349,"line":350,"context":315},"admin\\partials\\TabItems\\Taxonomies.php",36,{"file":349,"line":182,"context":315},{"file":228,"line":353,"context":315},265,{"file":228,"line":355,"context":315},271,{"file":228,"line":357,"context":315},276,{"file":228,"line":359,"context":315},308,{"file":361,"line":362,"context":315},"admin\\partials\\Tabs\\DuplicateMenus.php",33,{"file":237,"line":364,"context":315},199,{"file":237,"line":366,"context":315},403,{"file":261,"line":368,"context":315},62,{"file":261,"line":370,"context":315},104,{"file":261,"line":372,"context":315},111,[],[375,396,413,424],{"entryPoint":376,"graph":377,"unsanitizedCount":28,"severity":41},"ajax_paged_change (includes\\class-different-menus-for-different-page.php:214)",{"nodes":378,"edges":393},[379,384,388],{"id":380,"type":381,"label":382,"file":237,"line":383},"n0","source","$_POST",222,{"id":385,"type":386,"label":387,"file":237,"line":383},"n1","transform","→ ajax_paged_change_by_key()",{"id":389,"type":390,"label":391,"file":237,"line":366,"wp_function":392},"n2","sink","echo() [XSS]","echo",[394,395],{"from":380,"to":385,"sanitized":274},{"from":385,"to":389,"sanitized":274},{"entryPoint":397,"graph":398,"unsanitizedCount":28,"severity":41},"\u003Cclass-different-menus-for-different-page> (includes\\class-different-menus-for-different-page.php:0)",{"nodes":399,"edges":409},[400,403,404,405,407],{"id":380,"type":381,"label":401,"file":237,"line":402},"$_POST (x2)",217,{"id":385,"type":390,"label":391,"file":237,"line":366,"wp_function":392},{"id":389,"type":381,"label":382,"file":237,"line":383},{"id":406,"type":386,"label":387,"file":237,"line":383},"n3",{"id":408,"type":390,"label":391,"file":237,"line":366,"wp_function":392},"n4",[410,411,412],{"from":380,"to":385,"sanitized":275},{"from":389,"to":406,"sanitized":274},{"from":406,"to":408,"sanitized":274},{"entryPoint":414,"graph":415,"unsanitizedCount":29,"severity":423},"ajax (admin\\includes\\AjaxRequests\\save-different-menu-conditions.php:18)",{"nodes":416,"edges":421},[417,419],{"id":380,"type":381,"label":382,"file":292,"line":418},35,{"id":385,"type":390,"label":420,"file":292,"line":306,"wp_function":305},"unserialize() [Object Injection]",[422],{"from":380,"to":385,"sanitized":275},"low",{"entryPoint":425,"graph":426,"unsanitizedCount":29,"severity":423},"\u003Csave-different-menu-conditions> (admin\\includes\\AjaxRequests\\save-different-menu-conditions.php:0)",{"nodes":427,"edges":430},[428,429],{"id":380,"type":381,"label":382,"file":292,"line":418},{"id":385,"type":390,"label":420,"file":292,"line":306,"wp_function":305},[431],{"from":380,"to":385,"sanitized":275},{"summary":433,"deductions":434},"The 'different-menus-in-different-pages' plugin v2.4.5 exhibits a generally good security posture with a notable exception. The static analysis reveals a robust implementation of security measures, including a high percentage of properly escaped outputs, the exclusive use of prepared statements for SQL queries, and a reasonable number of nonce and capability checks across its entry points. The absence of shortcodes and REST API routes with missing permission callbacks further strengthens its defensive architecture. However, the presence of the `unserialize` function is a significant concern. Unserialization of untrusted user input can lead to arbitrary object injection, a severe vulnerability if not handled with extreme caution and strict input validation. While taint analysis did not reveal critical or high severity issues, the two flows with unsanitized paths warrant further investigation as they could potentially interact with the unserialization function. The plugin's vulnerability history indicates a past medium-severity issue related to missing authorization, which, while currently patched, suggests a historical tendency towards authorization flaws. This, combined with the presence of `unserialize`, points to a moderate overall risk, primarily driven by the potential for a critical vulnerability if the `unserialize` function is misused.",[435,437,439],{"reason":436,"points":280},"Presence of unserialize function",{"reason":438,"points":301},"Taint flows with unsanitized paths",{"reason":440,"points":301},"Medium vulnerability in history","2026-03-16T18:14:36.784Z",{"wat":443,"direct":462},{"assetPaths":444,"generatorPatterns":452,"scriptPaths":453,"versionParams":454},[445,446,447,448,449,450,451],"\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fcss\u002Fmenu-page.css","\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fcss\u002Fsettings-bootstrap.min.css","\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fbootstrap-notify.js","\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fbootstrap.min.js","\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fpopper.min.js","\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fvelocity-ui.min.js","\u002Fwp-content\u002Fplugins\u002Fdifferent-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fvelocity.min.js",[],[449,448,451,450,447],[455,456,457,458,459,460,461],"different-menus-in-different-pages\u002Fadmin\u002Fcss\u002Fsettings-bootstrap.min.css?ver=","different-menus-in-different-pages\u002Fadmin\u002Fcss\u002Fmenu-page.css?ver=","different-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fpopper.min.js?ver=","different-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fbootstrap.min.js?ver=","different-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fvelocity.min.js?ver=","different-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fvelocity-ui.min.js?ver=","different-menus-in-different-pages\u002Fadmin\u002Fjs\u002Fbootstrap-notify.js?ver=",{"cssClasses":463,"htmlComments":465,"htmlAttributes":468,"restEndpoints":470,"jsGlobals":471,"shortcodeOutput":472},[464],"dmidp-notice",[466,467],"Start Settings pages items","End Settings pages items",[469],"data-dmidp-notice-id",[],[273],[]]