[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fBGUfKIxOxwteloYB_4BQhGIxXINM8vKufP5-gIt_GVA":3,"$fYgfNdFu9Kk9TM9v1EPB6paGzniCXVBX1LGWBRJiwhcM":294,"$fcjhs5y_v-fRPegpbzrfWBsjSXi18skOziKb7hYQfRjM":298},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":35,"analysis":131,"fingerprints":274},"ai-editor-post-switcher","AI Editor Post Switcher","1.1.2.1","4wpai","https:\u002F\u002Fprofiles.wordpress.org\u002F4wpai\u002F","\u003Cp>AI Editor Post Switcher enhances your editing workflow by adding convenient navigation buttons directly to the Gutenberg editor header. This allows you to quickly move between posts, pages, or any custom post type without returning to the admin list view.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Previous\u002FNext Navigation\u003C\u002Fstrong>: Jump to adjacent posts with a single click\u003C\u002Fli>\n\u003Cli>\u003Cstrong>First\u002FLast Navigation\u003C\u002Fstrong>: Optional buttons to quickly access the first or last post in your sequence\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Type Selection\u003C\u002Fstrong>: Choose which post types should have navigation buttons\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Interface\u003C\u002Fstrong>: Sleek, unobtrusive buttons that integrate seamlessly with the WordPress editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation-Ready\u003C\u002Fstrong>: Fully translatable into any language\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Time-Saving Benefits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Streamlined Editing\u003C\u002Fstrong>: Move between related content without interrupting your workflow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Batch Updates\u003C\u002Fstrong>: Easily make sequential edits across multiple posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Organization\u003C\u002Fstrong>: Quickly navigate through your content hierarchy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Developed by https:\u002F\u002F4wp.ai\u003C\u002Fli>\n\u003Cli>Thanks to all testers and contributors\u003C\u002Fli>\n\u003C\u002Ful>\n","Navigate easily between posts, pages, or custom post types in the Gutenberg editor via intuitive navigation buttons.",0,499,"2025-05-31T15:50:00.000Z","6.8.5","5.0","7.0",[18,19,20,21,22],"editor","editor-tools","gutenberg","navigation","post-navigation","https:\u002F\u002F4wp.ai","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-editor-post-switcher.1.1.2.1.zip",92,null,"2026-04-06T09:54:40.288Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,88,"2026-08-29T04:04:05.588Z",[36,56,77,96,113],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":11,"downloaded":44,"rating":11,"num_ratings":11,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":48,"tags":49,"homepage":52,"download_link":53,"security_score":54,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":55},"mxwlsoft-editor-post-navigator","Mxwlsoft Editor Post Navigator","1.0.3","mxwlsoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fmxwlsoft\u002F","\u003Cp>\u003Cstrong>Stop losing your editing flow.\u003C\u002Fstrong>\u003Cbr \u002F>\nMxwlsoft Editor Post Navigator puts previous and next post navigation buttons right inside your Gutenberg editor toolbar—so you can switch between posts without ever going back to the post list.\u003C\u002Fp>\n\u003Ch3>What you can do with it:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Jump directly\u003C\u002Fstrong> from one post to the next (or previous) while editing.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Save time\u003C\u002Fstrong> by eliminating the need to constantly return to the admin list screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stay focused\u003C\u002Fstrong> on your content, with navigation that feels like a natural part of the editor.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works with all standard post statuses\u003C\u002Fstrong> published, draft, pending, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why you’ll love it:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Zero clutter\u003C\u002Fstrong> – buttons appear only when editing an existing post, and they blend perfectly with the toolbar.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile-friendly\u003C\u002Fstrong> – on smaller screens, the button text disappears to save space, leaving just the arrow icons.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quick to use\u003C\u002Fstrong> – just click to go to the previous or next post, and keep writing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Whether you’re working on a series of articles, reviewing drafts, or just moving through your content, this plugin makes post navigation effortless.\u003C\u002Fp>\n\u003Ch3>More Information\u003C\u002Fh3>\n\u003Cp>For more details and an extended view of the plugin, visit the official \u003Ca href=\"https:\u002F\u002Fwww.mxwlsoft.com\u002Fproducts\u002Fwordpress-plugins\u002Fmxwlsoft-editor-post-navigator\" rel=\"nofollow ugc\">Mxwlsoft Editor Post Navigator Product Page\u003C\u002Fa>.\u003C\u002Fp>\n","Adds previous\u002Fnext post navigation links to the post editor toolbar for quick switching without returning to the list.",359,"2026-05-23T15:13:00.000Z","7.0.2","6.9","8.3",[50,18,20,22,51],"adjacent-post","quick-edit","https:\u002F\u002Fwww.mxwlsoft.com\u002Fproducts\u002Fwordpress-plugins\u002Fmxwlsoft-editor-post-navigator","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmxwlsoft-editor-post-navigator.1.0.3.zip",100,"2026-07-22T17:31:50.256Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":54,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":74,"download_link":75,"security_score":76,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":55},"block-navigation","Block Navigation","4.1.1","Alvaro","https:\u002F\u002Fprofiles.wordpress.org\u002Fmelonpan\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fgutenberg-showcase.melonpan.io\u002Fblock-navigation\" rel=\"nofollow ugc\">Demo\u003C\u002Fa> – \u003Ca href=\"https:\u002F\u002Fmelonpan.io\u002Fwordpress-plugins\u002Fblock-navigation\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> – \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgarciaalvaro\u002Fblock-navigation\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Block Navigation provides a sidebar with the current post\u002Fpage’s blocks and some tools to facilitate the editing process in the new Gutenberg editor.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>The features are especially useful for nested blocks – blocks that are inside parent blocks which are difficult to select or move in the editor.\u003C\u002Fp>\n\u003Cp>Inside the panel several utilities are included to enhance the UX, such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dragging blocks to a different location\u003C\u002Fli>\n\u003Cli>Moving blocks by click\u003C\u002Fli>\n\u003Cli>Selecting blocks\u003C\u002Fli>\n\u003Cli>Easily recognising the block from a small snippet of the block’s content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The user can select a dark or light color scheme, from the multiple included.\u003C\u002Fp>\n\u003Ch3>Plugin and Theme developers\u003C\u002Fh3>\n\u003Cp>The plugin also provides some features for Plugin and Theme developers, such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Click and Copy the block’s clientId\u003C\u002Fli>\n\u003Cli>Click to console.log helpful data from the block\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Inside the Post editor on the right side of the top Block’s Toolbar the plugin icon\u002Fbutton should appear (if not, please read the FAQ below).\u003Cbr \u002F>\nClick the icon\u002Fbutton to open the plugin sidebar.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Images from the readme banner and screenshots belong to \u003Ca href=\"https:\u002F\u002Funsplash.com\u002F@charlpost\" rel=\"nofollow ugc\">Charles Postiaux\u003C\u002Fa>.\u003C\u002Fp>\n","Block Navigation sidebar panel for the new Block editor.",3000,62184,33,"2022-05-19T18:46:00.000Z","6.0.12","5.8","7.1",[72,73,18,20,21],"blocks","drag-and-drop","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fblock-navigation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblock-navigation.4.1.1.zip",85,{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":54,"num_ratings":31,"last_updated":87,"tested_up_to":46,"requires_at_least":88,"requires_php":89,"tags":90,"homepage":94,"download_link":95,"security_score":54,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":55},"enable-navigation-icons","Enable Navigation Icons","0.2.1","Trent Stromkins","https:\u002F\u002Fprofiles.wordpress.org\u002Fbmx269\u002F","\u003Cp>Enable Navigation Icons makes it simple to add and customize icons for your WordPress Navigation Block items. Whether you’re building a simple menu or complex mega menu navigation, this plugin provides intuitive controls for adding beautiful icons to your navigation links.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fplayground.wordpress.net\u002F?blueprint-url=https:\u002F\u002Fraw.githubusercontent.com\u002Fbmx269\u002Fenable-navigation-icons\u002Fmain\u002Fblueprint.json\" rel=\"nofollow ugc\">Try it in WordPress Playground\u003C\u002Fa>\u003C\u002Fstrong> — test the plugin instantly in your browser, no installation required.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Recommended Companion Plugin:\u003C\u002Fstrong> Use the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ficon-block\u002F\" rel=\"ugc\">Icon Block\u003C\u002Fa> plugin to add custom icon sets and expand your icon library options. Icon Block is a powerful companion that allows you to register additional icon libraries for use with Enable Navigation Icons.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Icon Selection\u003C\u002Fstrong>\u003Cbr \u002F>\n* Browse and select from a curated collection of WordPress icons\u003Cbr \u002F>\n* Upload and use custom SVG icons from your media library\u003Cbr \u002F>\n* Paste custom SVG code directly for complete flexibility\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Icon Positioning\u003C\u002Fstrong>\u003Cbr \u002F>\n* Position icons before or after navigation link text (left\u002Fright)\u003Cbr \u002F>\n* Space between justification for full-width layouts\u003Cbr \u002F>\n* Vertical alignment options (top, center, bottom) for multi-line menu items\u003Cbr \u002F>\n* Fine-tune icon position with vertical offset (supports px, %, em, rem units)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Icon Styling\u003C\u002Fstrong>\u003Cbr \u002F>\n* Adjust icon dimensions with a slider control (supports px, em, rem units)\u003Cbr \u002F>\n* Control the gap between icon and text (supports px, em, rem units)\u003Cbr \u002F>\n* Choose from theme colors or set a custom color\u003Cbr \u002F>\n* Support for stroke-based icons with “No Fill” option (e.g., Lucide icons)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Navigation Block Default Settings\u003C\u002Fstrong>\u003Cbr \u002F>\nSet default icon settings at the Navigation block level that apply to all child navigation items:\u003Cbr \u002F>\n* Configure size, spacing, color, position, vertical alignment, offset, and styling once for the entire navigation\u003Cbr \u002F>\n* Individual navigation items can inherit defaults or use custom settings\u003Cbr \u002F>\n* Works seamlessly with multiple and nested Navigation blocks\u003Cbr \u002F>\n* Applies to both inline navigation items and dynamically loaded WordPress menus\u003C\u002Fp>\n\u003Cp>This feature streamlines icon management for large navigation menus by eliminating repetitive configuration while maintaining flexibility for individual items.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Ollie Menu Designer Integration\u003C\u002Fstrong>\u003Cbr \u002F>\nFull support for the Ollie Menu Designer plugin’s mega menu dropdown items:\u003Cbr \u002F>\n* Add icons to Ollie mega menu dropdown navigation items\u003Cbr \u002F>\n* Same icon selection and styling options as standard navigation items\u003Cbr \u002F>\n* Works seamlessly with Ollie themes and the Menu Designer plugin\u003C\u002Fp>\n\u003Ch4>Supported Blocks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>core\u002Fnavigation\u003C\u002Fcode> – Navigation block (for setting default icon settings)\u003C\u002Fli>\n\u003Cli>\u003Ccode>core\u002Fnavigation-link\u003C\u002Fcode> – Standard navigation links\u003C\u002Fli>\n\u003Cli>\u003Ccode>core\u002Fnavigation-submenu\u003C\u002Fcode> – Submenu\u002Fdropdown navigation items\u003C\u002Fli>\n\u003Cli>\u003Ccode>ollie\u002Fmega-menu\u003C\u002Fcode> – Ollie Menu Designer dropdown menu items (requires Ollie Menu Designer plugin)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>This plugin was inspired by and incorporates code and ideas from the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fndiego\u002Fenable-button-icons\" rel=\"nofollow ugc\">enable-button-icons\u003C\u002Fa> project. Special thanks to @ndiego for his excellent work on button icon functionality, which served as a foundation for implementing navigation icon features.\u003C\u002Fp>\n","Easily add icons to Navigation Block items in WordPress.",20,566,"2026-05-20T19:31:00.000Z","6.3","7.4",[91,20,92,93,21],"block-editor","icons","menu","https:\u002F\u002Fgithub.com\u002Fbmx269\u002Fenable-navigation-icons","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fenable-navigation-icons.0.2.1.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":11,"downloaded":104,"rating":11,"num_ratings":11,"last_updated":105,"tested_up_to":46,"requires_at_least":106,"requires_php":107,"tags":108,"homepage":111,"download_link":112,"security_score":54,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":55},"beplus-visual-mega-nav","Beplus Visual Mega Navigation","0.0.9","Beplus","https:\u002F\u002Fprofiles.wordpress.org\u002Fbearsthemes\u002F","\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Visual builder\u003C\u002Fstrong> — Use the block editor to design mega menu content with columns, images, buttons, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-item settings\u003C\u002Fstrong> — Enable\u002Fdisable, width mode, background color, animation per menu item.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import \u002F export\u003C\u002Fstrong> — Apply starter layouts from a template store or export your design as JSON.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Root-level only\u003C\u002Fstrong> — Only top-level menu items get the mega menu option (depth-0).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean data storage\u003C\u002Fstrong> — Settings and content saved as \u003Ccode>nav_menu_item\u003C\u002Fcode> post meta.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Frontend rendering\u003C\u002Fstrong> — Custom Walker outputs mega panels with hover\u002Ffocus\u002Fkeyboard interaction.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accessible\u003C\u002Fstrong> — ARIA attributes, keyboard navigation, focus trapping.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme-friendly\u003C\u002Fstrong> — CSS custom properties for easy theme overrides.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 6.0+\u003C\u002Fli>\n\u003Cli>PHP 8.0+\u003C\u002Fli>\n\u003Cli>Node.js 18+ (for development)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Menus\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Click the \u003Cstrong>“Mega Menu”\u003C\u002Fstrong> link on any top-level menu item.\u003C\u002Fli>\n\u003Cli>Toggle \u003Cstrong>Enable Mega Menu\u003C\u002Fstrong> in the Settings tab.\u003C\u002Fli>\n\u003Cli>Switch to the \u003Cstrong>Content Builder\u003C\u002Fstrong> tab to design your mega menu content.\u003C\u002Fli>\n\u003Cli>Use \u003Cstrong>Import\u003C\u002Fstrong> or \u003Cstrong>Export\u003C\u002Fstrong> in the modal header to apply a template or save your layout as JSON.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Template Store\u003C\u002Fh3>\n\u003Cp>The builder can load \u003Cstrong>starter layouts\u003C\u002Fstrong> from JSON files on disk. In the modal header, click \u003Cstrong>Import\u003C\u002Fstrong> to browse the template store or upload a JSON file. Click \u003Cstrong>Export\u003C\u002Fstrong> to download the current content and settings.\u003C\u002Fp>\n\u003Ch4>Where templates are loaded from\u003C\u002Fh4>\n\u003Cp>Templates are discovered from these folders (in order). If the same \u003Ccode>slug\u003C\u002Fcode> exists in more than one place, \u003Cstrong>later sources override earlier ones\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cp>  Priority\u003Cbr \u002F>\n  Source\u003Cbr \u002F>\n  Path\u003C\u002Fp>\n\u003Cp>  1 (low)\u003Cbr \u002F>\n  Plugin\u003Cbr \u002F>\n  \u003Ccode>beplus-visual-mega-nav\u002Ftemplates\u002F*.json\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  2\u003Cbr \u002F>\n  Parent theme\u003Cbr \u002F>\n  \u003Ccode>{theme}\u002Fmega-menu-templates\u002F*.json\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  3 (high)\u003Cbr \u002F>\n  Child theme\u003Cbr \u002F>\n  \u003Ccode>{child-theme}\u002Fmega-menu-templates\u002F*.json\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example (Nextora parent theme):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>wp-content\u002Fthemes\u002Fnextora\u002Fmega-menu-templates\u002Fbrand-nav.json\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Example (child theme override):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>wp-content\u002Fthemes\u002Fnextora-child\u002Fmega-menu-templates\u002Fthree-column-nav.json\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>A child-theme file with the same filename\u002Fslug as a plugin template replaces the plugin version in the Import dropdown.\u003C\u002Fp>\n\u003Ch4>Built-in plugin templates\u003C\u002Fh4>\n\u003Cp>  Slug\u003Cbr \u002F>\n  Title\u003C\u002Fp>\n\u003Cp>  \u003Ccode>three-column-nav\u003C\u002Fcode>\u003Cbr \u002F>\n  Three Column Navigation\u003C\u002Fp>\n\u003Cp>  \u003Ccode>featured-with-links\u003C\u002Fcode>\u003Cbr \u002F>\n  Featured + Links\u003C\u002Fp>\n\u003Cp>See \u003Ccode>templates\u002F\u003C\u002Fcode> in this plugin for reference implementations.\u003C\u002Fp>\n\u003Ch4>Template JSON format\u003C\u002Fh4>\n\u003Cp>Each file is a single JSON object:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  \"slug\": \"my-custom-menu\",\n  \"title\": \"My Custom Menu\",\n  \"description\": \"Optional short description shown in the Import dropdown.\",\n  \"version\": \"1.0.0\",\n  \"settings\": {\n    \"width\": \"full\",\n    \"customWidth\": 1200,\n    \"bgColor\": \"\",\n    \"animation\": \"fade\"\n  },\n  \"content\": \"\u003C!-- wp:columns -->...\"\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>  Field\u003Cbr \u002F>\n  Required\u003Cbr \u002F>\n  Notes\u003C\u002Fp>\n\u003Cp>  \u003Ccode>slug\u003C\u002Fcode>\u003Cbr \u002F>\n  Recommended\u003Cbr \u002F>\n  Used as the filename (\u003Ccode>{slug}.json\u003C\u002Fcode>). If omitted, the filename (without \u003Ccode>.json\u003C\u002Fcode>) is used.\u003C\u002Fp>\n\u003Cp>  \u003Ccode>title\u003C\u002Fcode>\u003Cbr \u002F>\n  Recommended\u003Cbr \u002F>\n  Label in the Import dropdown.\u003C\u002Fp>\n\u003Cp>  \u003Ccode>description\u003C\u002Fcode>\u003Cbr \u002F>\n  Optional\u003Cbr \u002F>\n  Shown under the title in the Import dropdown.\u003C\u002Fp>\n\u003Cp>  \u003Ccode>version\u003C\u002Fcode>\u003Cbr \u002F>\n  Optional\u003Cbr \u002F>\n  Template metadata only.\u003C\u002Fp>\n\u003Cp>  \u003Ccode>settings\u003C\u002Fcode>\u003Cbr \u002F>\n  Optional\u003Cbr \u002F>\n  Panel settings applied with the template (\u003Ccode>width\u003C\u002Fcode>, \u003Ccode>customWidth\u003C\u002Fcode>, \u003Ccode>bgColor\u003C\u002Fcode>, \u003Ccode>animation\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>  \u003Ccode>content\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Cstrong>Required\u003C\u002Fstrong>\u003Cbr \u002F>\n  Serialized Gutenberg block HTML (same format saved to menu item meta).\u003C\u002Fp>\n\u003Cp>Exported files from \u003Cstrong>Export\u003C\u002Fstrong> use the same shape (they may omit \u003Ccode>slug\u003C\u002Fcode>). You can drop an export into \u003Ccode>mega-menu-templates\u002F\u003C\u002Fcode> and add a \u003Ccode>slug\u003C\u002Fcode> to register it in the store.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>content is sanitized on load using the same rules as saved mega menu content. Use only blocks from the allowed list below (extend via `beplus_vmn_allowed_blocks`).\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Allowed blocks\u003C\u002Fh4>\n\u003Cp>  Category\u003Cbr \u002F>\n  Blocks\u003C\u002Fp>\n\u003Cp>  Layout\u003Cbr \u002F>\n  \u003Ccode>core\u002Fcolumns\u003C\u002Fcode>, \u003Ccode>core\u002Fcolumn\u003C\u002Fcode>, \u003Ccode>core\u002Fgroup\u003C\u002Fcode>, \u003Ccode>core\u002Frow\u003C\u002Fcode>, \u003Ccode>core\u002Fstack\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  Content\u003Cbr \u002F>\n  \u003Ccode>core\u002Fheading\u003C\u002Fcode>, \u003Ccode>core\u002Fparagraph\u003C\u002Fcode>, \u003Ccode>core\u002Flist\u003C\u002Fcode>, \u003Ccode>core\u002Flist-item\u003C\u002Fcode>, \u003Ccode>core\u002Fimage\u003C\u002Fcode>, \u003Ccode>core\u002Fbuttons\u003C\u002Fcode>, \u003Ccode>core\u002Fbutton\u003C\u002Fcode>, \u003Ccode>core\u002Fseparator\u003C\u002Fcode>, \u003Ccode>core\u002Fspacer\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  Navigation\u003Cbr \u002F>\n  \u003Ccode>core\u002Fpage-list\u003C\u002Fcode>, \u003Ccode>beplus-visual-mega-nav\u002Flink-item\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  Media\u003Cbr \u002F>\n  \u003Ccode>core\u002Fcover\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  Embeds \u002F widgets\u003Cbr \u002F>\n  \u003Ccode>core\u002Fshortcode\u003C\u002Fcode>, \u003Ccode>core\u002Fhtml\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'beplus_vmn_allowed_blocks', function ( array $blocks ): array {\n    $blocks[] = 'my-plugin\u002Fcustom-block';\n    return $blocks;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Import behaviour\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Template store\u003C\u002Fstrong> — Lists all valid JSON templates from the plugin and active theme(s).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Upload JSON file\u003C\u002Fstrong> — Import any file matching the format above (does not need to live in a template folder).\u003C\u002Fli>\n\u003Cli>Applying a template replaces the current \u003Cstrong>Content Builder\u003C\u002Fstrong> content and \u003Cstrong>Settings\u003C\u002Fstrong> in the modal. Click \u003Cstrong>Save\u003C\u002Fstrong> to persist changes to the menu item.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>REST API\u003C\u002Fh4>\n\u003Cp>  Method\u003Cbr \u002F>\n  Route\u003Cbr \u002F>\n  Description\u003C\u002Fp>\n\u003Cp>  \u003Ccode>GET\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>\u002Fwp-json\u002Fbeplus-visual-mega-nav\u002Fv1\u002Ftemplates\u003C\u002Fcode>\u003Cbr \u002F>\n  List template summaries (\u003Ccode>slug\u003C\u002Fcode>, \u003Ccode>title\u003C\u002Fcode>, \u003Ccode>description\u003C\u002Fcode>, \u003Ccode>source\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>  \u003Ccode>GET\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>\u002Fwp-json\u002Fbeplus-visual-mega-nav\u002Fv1\u002Ftemplates\u002F{slug}\u003C\u002Fcode>\u003Cbr \u002F>\n  Load full template (\u003Ccode>settings\u003C\u002Fcode> + \u003Ccode>content\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>Requires \u003Ccode>edit_theme_options\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>PHP hooks\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u002F\u002F Add or replace template scan directories (source label => absolute path).\nadd_filter( 'beplus_vmn_template_directories', function ( $directories ) {\n    $directories['custom'] = '\u002Fpath\u002Fto\u002Fmy\u002Ftemplates';\n    return $directories;\n} );\n\n\u002F\u002F Filter the template list returned to the admin UI.\nadd_filter( 'beplus_vmn_templates', function ( $templates ) {\n    \u002F\u002F $templates is keyed by slug.\n    return $templates;\n} );\n\n\u002F\u002F Filter a single template before it is returned.\nadd_filter( 'beplus_vmn_template_data', function ( $template, $slug ) {\n    return $template;\n}, 10, 2 );\n~~~\u003Ch3>Development\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>npm run start       # Watch mode\u003Cbr \u002F>\nnpm run build       # Production build\u003Cbr \u002F>\ncomposer check      # PHP lint + PHPCS + PHPStan\u003Cbr \u002F>\nnpm run check:js    # ESLint + Stylelint\u003Cbr \u002F>\n~~~\u003C\u002Fp>\n","A Gutenberg-powered mega menu builder for WordPress. Build rich mega menus visually using the block editor.",149,"2026-07-15T06:12:00.000Z","6.0","8.0",[91,20,109,110,21],"mega-menu","menu-builder","https:\u002F\u002Fgithub.com\u002Fmiketropi\u002Fbeplus-visual-mega-nav","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbeplus-visual-mega-nav.0.0.9.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":46,"requires_at_least":126,"requires_php":127,"tags":128,"homepage":129,"download_link":130,"security_score":54,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":55},"classic-editor","Classic Editor","1.7.0","WordPress.org","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordpressdotorg\u002F","\u003Cp>Classic Editor is an official plugin maintained by the WordPress team that restores the previous (“classic”) WordPress editor and the “Edit Post” screen. It makes it possible to use plugins that extend that screen, add old-style meta boxes, or otherwise depend on the previous editor.\u003C\u002Fp>\n\u003Cp>Classic Editor is an official WordPress plugin, and will be fully supported and maintained until 2024, or as long as is necessary.\u003C\u002Fp>\n\u003Cp>At a glance, this plugin adds the following:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Administrators can select the default editor for all users.\u003C\u002Fli>\n\u003Cli>Administrators can allow users to change their default editor.\u003C\u002Fli>\n\u003Cli>When allowed, the users can choose which editor to use for each post.\u003C\u002Fli>\n\u003Cli>Each post opens in the last editor used regardless of who edited it last. This is important for maintaining a consistent experience when editing content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In addition, the Classic Editor plugin includes several filters that let other plugins control the settings, and the editor choice per post and per post type.\u003C\u002Fp>\n\u003Cp>By default, this plugin hides all functionality available in the new block editor (“Gutenberg”).\u003C\u002Fp>\n","Enables the previous \"classic\" editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports all plugins that extend this screen.",9000000,91397820,98,1242,"2026-05-28T01:51:00.000Z","4.9","5.2.4",[91,114,18,20],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclassic-editor\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclassic-editor.1.7.0.zip",{"attackSurface":132,"codeSignals":199,"taintFlows":209,"riskAssessment":264,"analyzedAt":273},{"hooks":133,"ajaxHandlers":182,"restRoutes":195,"shortcodes":196,"cronEvents":197,"entryPointCount":198,"unprotectedCount":198},[134,140,144,147,150,154,158,164,169,174,177,180],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","admin_menu","add_admin_menu","includes\u002Fclass-admin-page.php",41,{"type":135,"name":141,"callback":142,"file":138,"line":143},"admin_init","process_post_types_form",44,{"type":135,"name":141,"callback":145,"file":138,"line":146},"process_navigation_options_form",45,{"type":135,"name":141,"callback":148,"file":138,"line":149},"process_uninstall_settings_form",46,{"type":135,"name":151,"callback":152,"file":138,"line":153},"admin_enqueue_scripts","enqueue_admin_assets",47,{"type":135,"name":155,"callback":156,"file":157,"line":85},"enqueue_block_editor_assets","enqueue_editor_assets","includes\u002Fclass-editor-integration.php",{"type":159,"name":160,"callback":161,"priority":162,"file":157,"line":163},"filter","plugin_row_meta","add_plugin_meta",10,22,{"type":159,"name":165,"callback":166,"file":167,"line":168},"ai_editor_header_data","add_search_label","includes\u002Fclass-posts-search.php",27,{"type":159,"name":170,"callback":171,"priority":162,"file":172,"line":173},"page_row_actions","ai_editor_add_order_to_edit_link","includes\u002Fsort-editlink.php",154,{"type":159,"name":175,"callback":171,"priority":162,"file":172,"line":176},"post_row_actions",155,{"type":135,"name":141,"callback":178,"file":172,"line":179},"closure",158,{"type":159,"name":175,"callback":178,"priority":162,"file":172,"line":181},180,[183,187,191],{"action":184,"nopriv":185,"callback":186,"hasNonce":185,"hasCapCheck":185,"file":167,"line":163},"ai_editor_get_posts",false,"ajax_get_posts",{"action":188,"nopriv":185,"callback":189,"hasNonce":185,"hasCapCheck":185,"file":167,"line":190},"ai_editor_get_context_posts","ajax_get_context_posts",23,{"action":192,"nopriv":185,"callback":193,"hasNonce":185,"hasCapCheck":185,"file":167,"line":194},"ai_editor_search_posts","ajax_search_posts",24,[],[],[],3,{"dangerousFunctions":200,"sqlUsage":201,"outputEscaping":204,"fileOperations":31,"externalRequests":11,"nonceChecks":198,"capabilityChecks":207,"bundledLibraries":208},[],{"prepared":202,"raw":11,"locations":203},2,[],{"escaped":205,"rawEcho":11,"locations":206},78,[],4,[],[210,230,238],{"entryPoint":211,"graph":212,"unsanitizedCount":11,"severity":229},"process_post_types_form (includes\u002Fadmin\u002Fclass-admin-settings-tab.php:46)",{"nodes":213,"edges":226},[214,220],{"id":215,"type":216,"label":217,"file":218,"line":219},"n0","source","$_POST","includes\u002Fadmin\u002Fclass-admin-settings-tab.php",71,{"id":221,"type":222,"label":223,"file":218,"line":224,"wp_function":225},"n1","sink","update_option() [Settings Manipulation]",72,"update_option",[227],{"from":215,"to":221,"sanitized":228},true,"low",{"entryPoint":231,"graph":232,"unsanitizedCount":11,"severity":229},"\u003Cclass-admin-settings-tab> (includes\u002Fadmin\u002Fclass-admin-settings-tab.php:0)",{"nodes":233,"edges":236},[234,235],{"id":215,"type":216,"label":217,"file":218,"line":219},{"id":221,"type":222,"label":223,"file":218,"line":224,"wp_function":225},[237],{"from":215,"to":221,"sanitized":228},{"entryPoint":239,"graph":240,"unsanitizedCount":198,"severity":263},"\u003Cclass-posts-search> (includes\u002Fclass-posts-search.php:0)",{"nodes":241,"edges":259},[242,245,249,253,257],{"id":215,"type":216,"label":243,"file":167,"line":244},"$_GET",392,{"id":221,"type":222,"label":246,"file":167,"line":247,"wp_function":248},"get_results() [SQLi]",556,"get_results",{"id":250,"type":216,"label":251,"file":167,"line":252},"n2","$_GET (x2)",139,{"id":254,"type":255,"label":256,"file":167,"line":252},"n3","transform","→ get_total_status_counts()",{"id":258,"type":222,"label":246,"file":167,"line":247,"wp_function":248},"n4",[260,261,262],{"from":215,"to":221,"sanitized":185},{"from":250,"to":254,"sanitized":185},{"from":254,"to":258,"sanitized":185},"high",{"summary":265,"deductions":266},"The \"ai-editor-post-switcher\" plugin v1.1.2.1 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices by utilizing prepared statements for all SQL queries and ensuring proper output escaping for all outputs. It also correctly implements nonce checks and capability checks in a number of instances.\n\nHowever, there are significant concerns regarding its attack surface. All three identified AJAX entry points lack authentication checks, meaning any unauthenticated user could potentially trigger these actions. Furthermore, the taint analysis reveals one flow with unsanitized paths, classified as high severity, which could lead to exploitable vulnerabilities if not handled carefully within the plugin's logic. The absence of known vulnerabilities in its history is a positive sign, suggesting a lack of past exploitable flaws, but it does not negate the risks identified in the current code analysis.\n\nIn conclusion, while the plugin shows strength in data handling (SQL and output escaping) and has a clean vulnerability history, the unprotected AJAX endpoints and the high-severity unsanitized path flow present a notable risk. The plugin needs immediate attention to secure these entry points and address the identified taint flow to improve its overall security.",[267,270],{"reason":268,"points":269},"AJAX handlers without authentication checks",15,{"reason":271,"points":272},"Taint flow with unsanitized paths (high severity)",12,"2026-04-16T13:26:28.790Z",{"wat":275,"direct":284},{"assetPaths":276,"generatorPatterns":279,"scriptPaths":280,"versionParams":281},[277,278],"\u002Fwp-content\u002Fplugins\u002Fai-editor-post-switcher\u002Fcss\u002Fadmin-page.css","\u002Fwp-content\u002Fplugins\u002Fai-editor-post-switcher\u002Fjs\u002Fadmin-changelog.js",[],[278],[282,283],"ai-editor-post-switcher\u002Fcss\u002Fadmin-page.css?ver=","ai-editor-post-switcher\u002Fjs\u002Fadmin-changelog.js?ver=",{"cssClasses":285,"htmlComments":287,"htmlAttributes":288,"restEndpoints":290,"jsGlobals":291,"shortcodeOutput":293},[286],"ai-version-number",[],[289],"data-nonce",[],[292],"AI_Editor_Nonce_Manager",[],{"error":228,"url":295,"statusCode":296,"statusMessage":297,"message":297},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fai-editor-post-switcher\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":299,"versions":300},5,[301,306,313,320,327],{"version":6,"download_url":24,"svn_tag_url":302,"released_at":26,"has_diff":185,"diff_files_changed":303,"diff_lines":26,"trac_diff_url":304,"vulnerabilities":305,"is_current":228},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fai-editor-post-switcher\u002Ftags\u002F1.1.2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.2&new_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.2.1",[],{"version":307,"download_url":308,"svn_tag_url":309,"released_at":26,"has_diff":185,"diff_files_changed":310,"diff_lines":26,"trac_diff_url":311,"vulnerabilities":312,"is_current":185},"1.1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-editor-post-switcher.1.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fai-editor-post-switcher\u002Ftags\u002F1.1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.1&new_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.2",[],{"version":314,"download_url":315,"svn_tag_url":316,"released_at":26,"has_diff":185,"diff_files_changed":317,"diff_lines":26,"trac_diff_url":318,"vulnerabilities":319,"is_current":185},"1.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-editor-post-switcher.1.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fai-editor-post-switcher\u002Ftags\u002F1.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.0&new_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.1",[],{"version":321,"download_url":322,"svn_tag_url":323,"released_at":26,"has_diff":185,"diff_files_changed":324,"diff_lines":26,"trac_diff_url":325,"vulnerabilities":326,"is_current":185},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-editor-post-switcher.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fai-editor-post-switcher\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fai-editor-post-switcher%2Ftags%2F1.0.7&new_path=%2Fai-editor-post-switcher%2Ftags%2F1.1.0",[],{"version":328,"download_url":329,"svn_tag_url":330,"released_at":26,"has_diff":185,"diff_files_changed":331,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":332,"is_current":185},"1.0.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-editor-post-switcher.1.0.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fai-editor-post-switcher\u002Ftags\u002F1.0.7\u002F",[],[]]