[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fw06-MVIzJmMJFfJwiGdKoPoGArA_F1y_n6sgZJYt8fc":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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":150,"fingerprints":196},"elevator","Elevator","1.0.5.4","Erica","https:\u002F\u002Fprofiles.wordpress.org\u002Fericakfranz\u002F","\u003Cp>Based on the brilliant script \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftholman\u002Felevator.js\" rel=\"nofollow ugc\">Elevator.js\u003C\u002Fa>. How can you resist the familiar notes and smooth ride we’ve all come to expect on a quality elevator ride?\u003C\u002Fp>\n\u003Cp>Just activate and enjoy!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.writingofriding.com\u002F\" rel=\"nofollow ugc\">demo\u003C\u002Fa> – at the bottom of the page select ‘Back to Top’ link.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Customize Elevator\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can also customize the appearance of Elevator with CSS. Need help? See the \u003Ca href=\"https:\u002F\u002Ffatpony.me\u002Fplugins\u002Felevator\u002Fstyle-guide\u002F\" rel=\"nofollow ugc\">Elevator Style Guide\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Elevator.js created by \u003Ca href=\"http:\u002F\u002Ftholman.com\u002F\" rel=\"nofollow ugc\">Tim Holman\u003C\u002Fa>.\u003Cbr \u002F>\nAudio (sourced from \u003Ca href=\"http:\u002F\u002Fwww.bensound.com\u002F\" rel=\"nofollow ugc\">BenSound\u003C\u002Fa>) is Creative Commons.\u003Cbr \u002F>\nPlugin Repo Banner Image, Background (sourced from \u003Ca href=\"https:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Filmungo\u002F27091536\" rel=\"nofollow ugc\">Luigi Anzivino\u003C\u002Fa>) is Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.\u003C\u002Fp>\n","Elevator is a streamlined little WordPress plugin with only one purpose; to soothingly transport your visitors back to the top of the page!",30,3449,94,3,"2022-08-13T23:32:00.000Z","6.0.11","3.5","",[20,21,22,23],"backtotop","music","navigation","scrolltotop","https:\u002F\u002Ffatpony.me\u002Fplugins\u002Felevator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Felevator.1.0.5.4.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":11,"trust_score":35,"computed_at":36},"ericakfranz",4,920,84,"2026-04-05T17:18:05.956Z",[38,57,83,103,126],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":27,"num_ratings":27,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":18,"tags":51,"homepage":55,"download_link":56,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"background-music-menu","Background Music Menu","1.0.1","glanit","https:\u002F\u002Fprofiles.wordpress.org\u002Fglanit\u002F","\u003Cp>Adds background music to website as a choice of item in navigation menus admin area.\u003C\u002Fp>\n\u003Cp>Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>background music available as a choice in the admin area for navigation menus,\u003C\u002Fli>\n\u003Cli>simple plugin for creating background music on the site,\u003C\u002Fli>\n\u003Cli>any format supports html5,\u003C\u002Fli>\n\u003Cli>uses cookies to remember the user’s choice,\u003C\u002Fli>\n\u003Cli>simple settings for correct display,\u003C\u002Fli>\n\u003Cli>very lightweight,\u003C\u002Fli>\n\u003Cli>in keeping styles, html, behaviour, etc., with wordpress defaults,\u003C\u002Fli>\n\u003Cli>You can use any musical composition simply by inserting a link. Does not support uploading a file, due to security concerns.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Those wanting to translate this plugin, please do.\u003C\u002Fh4>\n\u003Cp>I believe the plugin is in a translatable state and I’ll do everything I can to help in translation. It should be relatively quick as there isn’t much text to the plugin.\u003C\u002Fp>\n","Adds background music to website as a choice of item in navigation menus admin area.",400,19249,"2019-02-12T19:14:00.000Z","5.0.25","4.0",[52,53,21,22,54],"audio","background-music","sound","http:\u002F\u002Fnovgrodit.com\u002Fwork\u002Fwp\u002Fplugins\u002Fbackground-music-or-sound-for-websites-plugin-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbackground-music-menu.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":67,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":78,"download_link":79,"security_score":80,"vuln_count":81,"unpatched_count":27,"last_vuln_date":82,"fetched_at":29},"breadcrumb-navxt","Breadcrumb NavXT","7.5.1","John Havlik","https:\u002F\u002Fprofiles.wordpress.org\u002Fmtekk\u002F","\u003Cp>Breadcrumb NavXT, the successor to the popular WordPress plugin Breadcrumb Navigation XT, was written from the ground up to be better than its ancestor. This plugin generates locational breadcrumb trails for your WordPress powered blog or website. These breadcrumb trails are highly customizable to suit the needs of just about any website running WordPress. The Administrative interface makes setting options easy, while a direct class access is available for theme developers and more adventurous users.\u003C\u002Fp>\n\u003Ch4>PHP Requirements\u003C\u002Fh4>\n\u003Cp>Breadcrumb NavXT 7.0 and newer require PHP7.0\u003Cbr \u002F>\nBreadcrumb NavXT 5.2 and newer require PHP5.3\u003Cbr \u002F>\nBreadcrumb NavXT 5.1.1 and older require PHP5.2\u003C\u002Fp>\n\u003Ch4>Features (non-exhaustive)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>RDFa format Schema.org BreadcrumbList compatible breadcrumb generation.\u003C\u002Fli>\n\u003Cli>Extensive breadcrumb customization control via a settings page with appropriate default values for most use cases.\u003C\u002Fli>\n\u003Cli>Network admin settings page for managing breadcrumb settings for all subsites with \u003Ca href=\"http:\u002F\u002Fmtekk.us\u002Farchives\u002Fguides\u002Fcontrolling-breadcrumb-navxt-settings-from-the-network-settings-page\u002F\" title=\"Go to the article on configuring the network settings priority.\" rel=\"nofollow ugc\">configurable global priority\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Built in WordPress Widget.\u003C\u002Fli>\n\u003Cli>Extensible via OOP and provided \u003Ca href=\"http:\u002F\u002Fmtekk.us\u002Fcode\u002Fbreadcrumb-navxt\u002Fbreadcrumb-navxt-doc\u002F2\u002F#action_reference\" title=\"Go to the Breadcrumb NavXT Documentation's action reference.\" rel=\"nofollow ugc\">actions\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Fmtekk.us\u002Fcode\u002Fbreadcrumb-navxt\u002Fbreadcrumb-navxt-doc\u002F2\u002F#filter_reference\" title=\"Go to the Breadcrumb NavXT Documentation's filter reference.\" rel=\"nofollow ugc\">filters\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>WPML compatible (enhanced compatibility with WPML extensions plugin).\u003C\u002Fli>\n\u003Cli>Polylang compatible (enhanced compatibility with Polylang extensions plugin).\u003C\u002Fli>\n\u003Cli>bbPress compatible (enhanced compatibility with bbPress extensions plugin).\u003C\u002Fli>\n\u003Cli>BuddyPress compatible (enhanced compatibility with BuddyPress extensions plugin).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Breadcrumb NavXT now supports WordPress.org language packs. Want to translate Breadcrumb NavXT? Visit \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbreadcrumb-navxt\u002F\" rel=\"nofollow ugc\">Breadcrumb NavXT’s WordPress.org translation project\u003C\u002Fa>.\u003C\u002Fp>\n","Adds breadcrumb navigation showing the visitor's path to their current location.",800000,17023337,92,132,"2025-12-22T03:18:00.000Z","6.9.4","5.8","7.0",[74,75,76,22,77],"block","breadcrumb","breadcrumbs","trail","http:\u002F\u002Fmtekk.us\u002Fcode\u002Fbreadcrumb-navxt\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbreadcrumb-navxt.7.5.1.zip",98,2,"2026-02-18 00:00:00",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":13,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":18,"tags":97,"homepage":101,"download_link":102,"security_score":67,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"wp-pagenavi","WP-PageNavi","2.94.5","Lester Chan","https:\u002F\u002Fprofiles.wordpress.org\u002Fgamerz\u002F","\u003Cp>Want to replace the old \u003Cem>&larr; Older posts | Newer posts &rarr;\u003C\u002Fem> links with some page links?\u003C\u002Fp>\n\u003Cp>This plugin provides the \u003Ccode>wp_pagenavi()\u003C\u002Fcode> template tag which generates fancy pagination links.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>In your theme, you need to find calls to next_posts_link() and previous_posts_link() and replace them.\u003C\u002Fp>\n\u003Cp>In the Twentyten theme, it looks like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"nav-previous\">\u003C?php next_posts_link( __( '\u003Cspan class=\"meta-nav\">&larr;\u003C\u002Fspan> Older posts', 'twentyten' ) ); ?>\u003C\u002Fdiv>\n\u003Cdiv class=\"nav-next\">\u003C?php previous_posts_link( __( 'Newer posts \u003Cspan class=\"meta-nav\">&rarr;\u003C\u002Fspan>', 'twentyten' ) ); ?>\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You would replace those two lines with this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_pagenavi(); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For multipart pages, you would look for code like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_link_pages( ... ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>and replace it with this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Go to \u003Cem>WP-Admin -> Settings -> PageNavi\u003C\u002Fem> for configuration.\u003C\u002Fp>\n\u003Ch3>Changing the CSS\u003C\u002Fh3>\n\u003Cp>If you need to configure the CSS style of WP-PageNavi, you can copy the \u003Ccode>pagenavi-css.css\u003C\u002Fcode> file from the plugin directory to your theme’s directory and make your modifications there. This way, you won’t lose your changes when you update the plugin.\u003C\u002Fp>\n\u003Cp>Alternatively, you can uncheck the “Use pagenavi.css?” option from the settings page and add the styles to your theme’s style.css file directly.\u003C\u002Fp>\n\u003Ch3>Changing Class Names\u003C\u002Fh3>\n\u003Cp>There are \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FGlossary#Filter\" rel=\"nofollow ugc\">filters\u003C\u002Fa> that can be used to change the default class names that are assigned to page navigation elements.\u003C\u002Fp>\n\u003Ch4>Filters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>wp_pagenavi_class_pages\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_first\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_previouspostslink\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_extend\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_smaller\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_page\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_current\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_larger\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_nextpostslink\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_last\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Filter Usage\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u002F\u002F Simple Usage - 1 callback per filter\nadd_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_previouspostslink_class');\nadd_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_nextpostslink_class');\nadd_filter('wp_pagenavi_class_page', 'theme_pagination_page_class');\n\nfunction theme_pagination_previouspostslink_class($class_name) {\n  return 'pagination__control-link pagination__control-link--previous';\n}\n\nfunction theme_pagination_nextpostslink_class($class_name) {\n  return 'pagination__control-link pagination__control-link--next';\n}\n\nfunction theme_pagination_page_class($class_name) {\n  return 'pagination__current-page';\n}\n\n\n\u002F\u002F More Concise Usage - 1 callback for all filters\nadd_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_class');\nadd_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_class');\nadd_filter('wp_pagenavi_class_page', 'theme_pagination_class');\n\nfunction theme_pagination_class($class_name) {\n  switch($class_name) {\n    case 'previouspostslink':\n      $class_name = 'pagination__control-link pagination__control-link--previous';\n      break;\n    case 'nextpostslink':\n      $class_name = 'pagination__control-link pagination__control-link--next';\n      break;\n    case 'page':\n      $class_name = 'pagination__current'\n      break;\n  }\n  return $class_name;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\" title=\"https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Plugin icon by \u003Ca href=\"http:\u002F\u002Fwww.simpleicon.com\" rel=\"nofollow ugc\">SimpleIcon\u003C\u002Fa> from \u003Ca href=\"http:\u002F\u002Fwww.flaticon.com\" rel=\"nofollow ugc\">Flaticon\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Donations\u003C\u002Fh3>\n\u003Cp>I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.\u003C\u002Fp>\n","Adds a more advanced paging navigation interface.",500000,13305409,149,"2024-12-19T01:02:00.000Z","6.7.5","4.6",[22,98,99,100],"pages","pagination","paging","https:\u002F\u002Flesterchan.net\u002Fportfolio\u002Fprogramming\u002Fphp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-pagenavi.2.94.5.zip",{"slug":104,"name":105,"version":106,"author":104,"author_profile":107,"description":108,"short_description":109,"active_installs":110,"downloaded":111,"rating":112,"num_ratings":113,"last_updated":114,"tested_up_to":70,"requires_at_least":115,"requires_php":116,"tags":117,"homepage":122,"download_link":123,"security_score":124,"vuln_count":81,"unpatched_count":27,"last_vuln_date":125,"fetched_at":29},"megamenu","Max Mega Menu","3.7","https:\u002F\u002Fprofiles.wordpress.org\u002Fmegamenu\u002F","\u003Cp>Max Mega Menu will automatically convert your existing menu into a mega menu. You can then add any WordPress widget to your menu, restyle your menu using the theme editor and change the menu behaviour using the built in settings. Max Mega Menu is a complete menu management plugin, perfect for taking control of your existing menu and turning it into a user-friendly, accessible and touch ready menu with just a few clicks.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F44dJwP1AXT8?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>Documentation & Demo: \u003Ca href=\"https:\u002F\u002Fwww.megamenu.com\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.megamenu.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Mobile\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatic support for native touch events\u003C\u002Fli>\n\u003Cli>Off Canvas Mobile Menu option built in\u003C\u002Fli>\n\u003Cli>Specify your own Responsive Breakpoint\u003C\u002Fli>\n\u003Cli>For items with sub menus, choose between “First click opens sub menu, second click closes sub menu” or “First click opens sub menu, second click follows link”\u003C\u002Fli>\n\u003Cli>Option to hide sub menus on mobile\u003C\u002Fli>\n\u003Cli>Mobile Toggle Bar designer allows you to tailor the toggle bar elements to fit in with your site design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Builds upon the standard WordPress menus system\u003C\u002Fli>\n\u003Cli>Restores the \u003Cem>Appearance > Menus\u003C\u002Fem> screen in “full site editing” themes\u003C\u002Fli>\n\u003Cli>Supports multiple menu locations each with their own configuration\u003C\u002Fli>\n\u003Cli>Off canvas (slide in from left or right) or standard drop down mobile menu\u003C\u002Fli>\n\u003Cli>Organise your sub menu content into rows and columns using the Grid Layout builder\u003C\u002Fli>\n\u003Cli>Display WordPress Widgets in your menu\u003C\u002Fli>\n\u003Cli>Fully customise the styling of your menus using the built in theme editor\u003C\u002Fli>\n\u003Cli>Supports Flyout (traditional) or Mega Menu sub menu styles\u003C\u002Fli>\n\u003Cli>Hover, Hover Intent or Click event to open sub menus\u003C\u002Fli>\n\u003Cli>Fade, Fade Up, Slide Up or Slide sub menu transitions\u003C\u002Fli>\n\u003Cli>Add icons to menu items\u003C\u002Fli>\n\u003Cli>Menu item options including Hide Text, Disable Link, Hide on Mobile etc\u003C\u002Fli>\n\u003Cli>Align menu items to the left or right of the menu bar\u003C\u002Fli>\n\u003Cli>Align sub menus to left or right of parent menu item\u003C\u002Fli>\n\u003Cli>Display your menu using Automatic Integration, Block, Widget or Shortcode.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Accessibility\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Keyboard Navigation built in\u003C\u002Fli>\n\u003Cli>\u003Ccode>TAB\u003C\u002Fcode> activates keyboard navigation and navigates through the menu\u003C\u002Fli>\n\u003Cli>\u003Ccode>ENTER\u003C\u002Fcode> or \u003Ccode>SPACE\u003C\u002Fcode> on a sub menu arrow indicator shows\u002Fhides the sub menu\u003C\u002Fli>\n\u003Cli>\u003Ccode>ESC\u003C\u002Fcode> closes all open sub menus\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Max Mega Menu is developed with a focus on code quality, performance and usability.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The only mega menu plugin with zero “!important”, block or inline CSS styles\u003C\u002Fli>\n\u003Cli>Menus are styled using a single, static CSS file\u003C\u002Fli>\n\u003Cli>Less than 2kb JavaScript (when gzipped)\u003C\u002Fli>\n\u003Cli>Responsive, touch & retina ready\u003C\u002Fli>\n\u003Cli>Built with accessibility in mind – keyboard navigation supported\u003C\u002Fli>\n\u003Cli>Extensively tested in all modern desktop and mobile browsers\u003C\u002Fli>\n\u003Cli>Clean code with a low memory footprint\u003C\u002Fli>\n\u003Cli>Supports all core nav_menu filters (prepend filter name with “mega_”)\u003C\u002Fli>\n\u003Cli>In depth documentation\u003C\u002Fli>\n\u003Cli>Basic Support included with free version\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Features:\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli>Tabbed Mega Menus\u003C\u002Fli>\n\u003Cli>Sticky Menu\u003C\u002Fli>\n\u003Cli>Vertical & Accordion Menus\u003C\u002Fli>\n\u003Cli>FontAwesome, Genericon & Custom Icons\u003C\u002Fli>\n\u003Cli>Custom Item Styling\u003C\u002Fli>\n\u003Cli>Menu Logo\u003C\u002Fli>\n\u003Cli>Search Box\u003C\u002Fli>\n\u003Cli>WooCommerce & EDD support\u003C\u002Fli>\n\u003Cli>Google Fonts\u003C\u002Fli>\n\u003Cli>Roles & Restrictions\u003C\u002Fli>\n\u003Cli>Mobile toggle blocks\u003C\u002Fli>\n\u003Cli>Automatic updates\u003C\u002Fli>\n\u003Cli>Priority Support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Find out more: \u003Ca href=\"https:\u002F\u002Fwww.megamenu.com\u002Fupgrade\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.megamenu.com\u002Fupgrade\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","An easy to use mega menu plugin. Written the WordPress way.",300000,11383037,96,858,"2025-12-15T10:28:00.000Z","5.0","5.6",[118,119,120,22,121],"mega-menu","menu","mobile-menu","responsive-menu","https:\u002F\u002Fwww.megamenu.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmegamenu.3.7.zip",99,"2024-03-26 00:00:00",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":134,"downloaded":135,"rating":80,"num_ratings":136,"last_updated":137,"tested_up_to":95,"requires_at_least":138,"requires_php":139,"tags":140,"homepage":145,"download_link":146,"security_score":147,"vuln_count":148,"unpatched_count":27,"last_vuln_date":149,"fetched_at":29},"luckywp-table-of-contents","LuckyWP Table of Contents","2.1.14","LuckyWP","https:\u002F\u002Fprofiles.wordpress.org\u002Ftheluckywp\u002F","\u003Cp>Creates SEO-friendly table of contents for your posts, pages or custom post types. Great customizable appearance.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatical insertion a table of contents (configure post types and position).\u003C\u002Fli>\n\u003Cli>SEO-friendly: table of contents code is ready to use by Google for snippets on result page.\u003C\u002Fli>\n\u003Cli>Insert by shortcode, Gutenberg block or widget.\u003C\u002Fli>\n\u003Cli>Button on toolbar of the classic editor.\u003C\u002Fli>\n\u003Cli>Gutenberg block into “Common Blocks”.\u003C\u002Fli>\n\u003Cli>Setting the minimum number of headings to display table of contents.\u003C\u002Fli>\n\u003Cli>Setting the depth of headings for table of contents.\u003C\u002Fli>\n\u003Cli>Skip headings by level or text.\u003C\u002Fli>\n\u003Cli>Hierarchical or linear view.\u003C\u002Fli>\n\u003Cli>Numeration items: decimal or roman numbers in order or nested.\u003C\u002Fli>\n\u003Cli>Customizable appearance: width, float, title font size and weight, items font size, colors.\u003C\u002Fli>\n\u003Cli>Color schemes (dark, light, white, transparent, inherit from theme) and the ability to override colors.\u003C\u002Fli>\n\u003Cli>Toggle Show\u002FHide (optionally)\u003C\u002Fli>\n\u003Cli>Customizable labels.\u003C\u002Fli>\n\u003Cli>Smooth scroll (optionally).\u003C\u002Fli>\n\u003Cli>Setting offset top for smooth scroll.\u003C\u002Fli>\n\u003Cli>Wrap table of contents with \u003C!–noindex–> tag (optionally).\u003C\u002Fli>\n\u003Cli>Pretty hash in URL (like \u003Ccode>example.com\u002Ffaq\u002F#how_do_this\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>RTL support.\u003C\u002Fli>\n\u003Cli>Available override global settings for a particular post.\u003C\u002Fli>\n\u003Cli>Highly compatible with WordPress themes and plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Auto Insert\u003C\u002Fh4>\n\u003Cp>For automatical insertion a table of contents in a posts, select option “Auto Insert Table of Contents” in the plugin settings (tab “Auto Insert”).\u003C\u002Fp>\n\u003Cp>Supported positions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>before first heading;\u003C\u002Fli>\n\u003Cli>after first heading;\u003C\u002Fli>\n\u003Cli>after first block (paragraph or heading);\u003C\u002Fli>\n\u003Cli>top of post content;\u003C\u002Fli>\n\u003Cli>bottom of post content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also select post types to which the table of contents will be automatically added.\u003C\u002Fp>\n\u003Ch4>Manual Insert\u003C\u002Fh4>\n\u003Cp>For manual insertion a table of content in a posts, use one of the ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>button “Table of Contents” on toolbar in classic editor;\u003C\u002Fli>\n\u003Cli>gutenberg block “Table of Contents”;\u003C\u002Fli>\n\u003Cli>shortcode \u003Ccode>[lwptoc]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pretty hash in URL\u003C\u002Fh4>\n\u003Cp>By default, hash generated as heading text (for example, \u003Ccode>#How_Do_This\u003C\u002Fcode>). You can change hash format in global settings, tab “Misc.”.\u003C\u002Fp>\n\u003Cp>For non-English websites it is recommended to enable the \u003Ccode>Intl\u003C\u002Fcode> PHP extension.\u003C\u002Fp>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cp>LuckyWP Table of Contents was successfully tested with the following plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Elementor Page Builder\u003C\u002Fli>\n\u003Cli>Beaver Builder and Beaver Builder Themer Add-On\u003C\u002Fli>\n\u003Cli>WPBakery Page Builder\u003C\u002Fli>\n\u003Cli>Oxygen\u003C\u002Fli>\n\u003Cli>WordPress Multilingual Plugin (WPML), \u003Ca href=\"https:\u002F\u002Fwpml.org\u002Fplugin\u002Fluckywp-table-of-contents\u002F\" rel=\"nofollow ugc\">officially confirmed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Rank Math, \u003Ca href=\"https:\u002F\u002Frankmath.com\u002Fcompatibility\u002Fluckywp-table-of-contents\u002F\" rel=\"nofollow ugc\">officially confirmed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>WP Rocket\u003C\u002Fli>\n\u003Cli>Toolset Views and Toolset Access\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Ch4>Filters \u003Ccode>lwptoc_before\u003C\u002Fcode>, \u003Ccode>lwptoc_after\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use for add custom HTML before\u002Fafter the table of contents.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_before', function ($before) {\n    return '\u003Cp>Example text before TOC.\u003C\u002Fp>' . $before;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter \u003Ccode>lwptoc_shortcode_tag\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use this filter for change shortcode tag name \u003Ccode>[lwptoc]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_shortcode_tag', function ($tag) {\n    return 'toc';\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter \u003Ccode>lwptoc_heading_id\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use for modify heading ID.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_heading_id', function ($id, $label) {\n    return $id;\n}, 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Creates SEO-friendly table of contents for your posts\u002Fpages. Works automatically or manually (via shortcode, Gutenberg block or widget).",100000,1111608,875,"2025-04-16T10:13:00.000Z","4.7","5.6.20",[141,22,142,143,144],"links","seo","table-of-contents","toc","https:\u002F\u002Ftheluckywp.com\u002Fproduct\u002Ftable-of-contents\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fluckywp-table-of-contents.2.1.14.zip",97,5,"2025-04-02 00:00:00",{"attackSurface":151,"codeSignals":172,"taintFlows":184,"riskAssessment":185,"analyzedAt":195},{"hooks":152,"ajaxHandlers":168,"restRoutes":169,"shortcodes":170,"cronEvents":171,"entryPointCount":27,"unprotectedCount":27},[153,159,164],{"type":154,"name":155,"callback":156,"file":157,"line":158},"action","wp_enqueue_scripts","elevator_enqueue_scripts","elevator.php",27,{"type":154,"name":160,"callback":161,"priority":162,"file":157,"line":163},"wp_footer","elevator_button",10,48,{"type":154,"name":160,"callback":165,"priority":166,"file":157,"line":167},"elevator_script",20,69,[],[],[],[],{"dangerousFunctions":173,"sqlUsage":174,"outputEscaping":176,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":183},[],{"prepared":27,"raw":27,"locations":175},[],{"escaped":27,"rawEcho":81,"locations":177},[178,181],{"file":157,"line":179,"context":180},45,"raw output",{"file":157,"line":182,"context":180},66,[],[],{"summary":186,"deductions":187},"The \"elevator\" plugin v1.0.5.4 exhibits a strong security posture based on the provided static analysis. The complete absence of AJAX handlers, REST API routes, shortcodes, and cron events, especially those without authentication checks, significantly limits the potential attack surface. The code also shows good practices in handling SQL queries with 100% prepared statements and no dangerous functions or file operations. This suggests a developer who is mindful of common web security vulnerabilities.\n\nHowever, the static analysis does reveal some areas of concern. Notably, none of the identified output operations are properly escaped, which presents a risk of Cross-Site Scripting (XSS) vulnerabilities if the output contains user-supplied data. The lack of any nonce checks or capability checks on the identified entry points, though currently minimal in number, means that if new entry points are introduced or existing ones are used in a context where permissions matter, these protections are absent. The plugin's vulnerability history is clean, with no recorded CVEs, which is a positive indicator, but it's crucial to remember that this is based on past performance and doesn't guarantee future safety.\n\nIn conclusion, while the \"elevator\" plugin is off to a very promising start with a minimal attack surface and good SQL handling, the unescaped output is a significant weakness that needs immediate attention. The absence of any authentication or capability checks on entry points also poses a latent risk. The clean vulnerability history is reassuring, but the identified code quality issues mean vigilance is still required.",[188,191,193],{"reason":189,"points":190},"Output is not properly escaped",8,{"reason":192,"points":148},"No nonce checks on entry points",{"reason":194,"points":148},"No capability checks on entry points","2026-03-16T22:33:26.201Z",{"wat":197,"direct":204},{"assetPaths":198,"generatorPatterns":200,"scriptPaths":201,"versionParams":202},[199],"\u002Fwp-content\u002Fplugins\u002Felevator\u002Fassets\u002Fjs\u002Felevator.min.js",[],[199],[203],"elevator\u002Fassets\u002Fjs\u002Felevator.min.js?ver=",{"cssClasses":205,"htmlComments":208,"htmlAttributes":209,"restEndpoints":211,"jsGlobals":212,"shortcodeOutput":213},[206,207],"elevator-container","elevator-button",[],[210],"scoped=\"scoped\"",[],[5],[214],"\u003Cdiv id=\"elevator\" class=\"elevator-container\">\u003Cstyle type=\"text\u002Fcss\" scoped=\"scoped\">#elevator{text-align:center;}.elevator-button{padding:20px;width:auto;margin:auto;display:inline-block;}.elevator-button:hover{cursor:pointer;}\u003C\u002Fstyle>\u003Cdiv class=\"elevator-button\">Back to Top\u003C\u002Fdiv>\u003C\u002Fdiv>"]