[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$famYK7o6VJWgp1E7_YcJVdtIxtIY9nWlJaOKyHTmauNI":3},{"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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"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":39,"analysis":128,"fingerprints":305},"gd-pages-navigator","GD Pages Navigator","6.2.1","Milan Petrovic","https:\u002F\u002Fprofiles.wordpress.org\u002Fgdragon\u002F","\u003Cp>Standard display of pages in WordPress can be a problem if you have a lot of pages with sub-pages causing the widget with list of pages to take a lot of space in the sidebar. With this widget you can use on of the 4 currently supported methods of navigation:\u003C\u002Fp>\n\u003Ch4>Pages list display methods\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Full Hierarchy\u003C\u002Fstrong>: Displays complete hierarchy of all pages in the blog.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Parent\u003C\u002Fstrong>: Displays only sub-pages for a parent page of your choice.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Navigator\u003C\u002Fstrong>: Dynamic list of pages, based on the currently active page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Selected\u003C\u002Fstrong>: Select pages to display, all other will be ignored.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Important URL’s\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fplugins.dev4press.com\u002Fgd-pages-navigator\u002F\" rel=\"nofollow ugc\">Plugin Home\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fsupport.dev4press.com\u002Fforums\u002Fforum\u002Fplugins-free\u002Fgd-pages-navigator\u002F\" rel=\"nofollow ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Simple and powerful widget plugin to create enhanced navigation for hierarchical post types, based on different criteria for filtering and display of  &hellip;",100,25929,1,"2023-03-29T13:33:00.000Z","6.2.9","5.0","7.0",[19,20,21,22,23],"dev4press","hierarchy","navigation","pages","widget","https:\u002F\u002Fplugins.dev4press.com\u002Fgd-pages-navigator\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgd-pages-navigator.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":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"gdragon",17,12460,94,1235,75,"2026-04-04T07:17:20.706Z",[40,62,79,94,109],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":11,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":58,"download_link":59,"security_score":60,"vuln_count":13,"unpatched_count":27,"last_vuln_date":61,"fetched_at":29},"better-section-navigation","Better Section Navigation","1.7.0","cornershop","https:\u002F\u002Fprofiles.wordpress.org\u002Fcornershop\u002F","\u003Cp>Adds a new widget type you can deploy in your sidebar regions (and\u002For elsewhere) to display section-based navigation, along with the ability to exclude certain pages from showing up.\u003C\u002Fp>\n\u003Cp>The title of the widget is the top level page within the current section. The widget then can show all of the page’s published siblings (except on the top level page), all parents and grandparents (and higher), the siblings of all parents and grandparents (up to top level page), and any immediate children of the current page. It can also be called by a function inside template files.\u003C\u002Fp>\n\u003Cp>It includes a simple widget configuration panel. From this panel you can:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Determine whether the widget should appear on the home page\u003C\u002Fli>\n\u003Cli>Override standard behavior and have the widget show all pages in the current section\u003C\u002Fli>\n\u003Cli>Determine whether the widget should appear even if the section only has one page (the top level)\u003C\u002Fli>\n\u003Cli>Provide a list of pages to exclude from the output\u003C\u002Fli>\n\u003Cli>Determine whether the section navigation should still appear when viewing excluded pages\u003C\u002Fli>\n\u003Cli>Use a specific widget title (i.e. In This Section), or just use the top level page title\u003C\u002Fli>\n\u003Cli>Determine whether the section title should be linked\u003C\u002Fli>\n\u003Cli>Determine page sort order (defaults to menu order)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The widget uses standard WordPress navigation classes, in addition to a unique class around the widget, for easy styling. The UL of the page list also has a custom class, \u003Ccode>bsn-list\u003C\u002Fcode>, that can be altered via the \u003Ccode>bsn_list_class\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Cp>Beginning with version 1.5, Better Section Navigation also incorporates the features of the defunct \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fexclude-pages\u002F\" rel=\"ugc\">Exclude Pages\u003C\u002Fa> plugin, giving you the ability to selectively exclude specific pages from appearing in the widget generated by Better Section Navigation. This per-page control is managed via a metabox on the post edit screen. Note: On activation, BSN will automatically import the list of “excluded pages” set via that plugin, so you don’t have to manually re-assign excludes pages before deactivating the old one.\u003C\u002Fp>\n\u003Cp>Compatible with WordPress Multisite.\u003C\u002Fp>\n\u003Cp>This plugin started life as \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-section-navigation\u002F\" rel=\"ugc\">Simple Section Navigation Widget\u003C\u002Fa>, but since that plugin hasn’t been updated in a while, we’ve taken up the reins with the goal of keeping it up to date with the latest WordPress conventions (i.e. getting rid of deprecation warnings) and adding a few nice-to-have features while retaining some of the simplicity of the original plugin.\u003C\u002Fp>\n\u003Cp>Simple Section Navigation Widget is incompatible with PHP 8.x, so as of October 2022, Better Section Navigation is now a drop-in replacement for Simple Section Navigation Widget. If you’ve been using Simple Section Navigation, you can now use this one instead without changing any settings! \u003Cem>NOTE: Deactivate Simple Section Navigation Widget\u003C\u002Fem> before activating Better Section Navigation.\u003C\u002Fp>\n","Creates a new widget for listing section-based navigation -- essential for contextual navigation. Also implements a template function and a shortcode.",700,15641,4,"2025-12-03T19:09:00.000Z","6.9.4","2.8","5.6",[56,20,21,22,57],"cms","section","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbetter-section-navigation.1.7.0.zip",99,"2025-03-28 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":27,"num_ratings":27,"last_updated":72,"tested_up_to":73,"requires_at_least":16,"requires_php":58,"tags":74,"homepage":77,"download_link":78,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"collapsing-pages","Collapsing Pages","2.0.3","robfelty","https:\u002F\u002Fprofiles.wordpress.org\u002Frobfelty\u002F","\u003Cp>This is a very simple plugin that uses Javascript to form a collapsable set of\u003Cbr \u002F>\nlinks in the sidebar for the pages. Every page corresponding to a given\u003Cbr \u002F>\nparent page will be expanded.\u003C\u002Fp>\n\u003Cp>It is largely based off of my Collapsing Pages and Collapsing Pages\u003Cbr \u002F>\nplugins.\u003C\u002Fp>\n\u003Ch3>What’s new?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>2.0.3 (2024.01.01)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fixed issue with subsubpages not closing correctly\u003C\u002Fli>\n\u003Cli>Got rid of some more warnings\u003C\u002Fli>\n\u003Cli>Tested with 6.4.2\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>2.0.2 (2023.12.01)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Got rid of some warnings\u003C\u002Fli>\n\u003Cli>Updated deprecated property __experimentalGroup\u003C\u002Fli>\n\u003Cli>Tested with 6.4.1\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>2.0.1 (2023.06.16)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Bug fixes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>2.0.0 (2023.03.17)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Updated to use Gutenberg block\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>1.0.1 (2016.05.09)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fixed bug where sometimes setting accordion to false broke javascript\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>1.0 (2015.08.12)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Compatible with WordPress 4.3\u003C\u002Fli>\n\u003Cli>Fixed bug where expanding symbol showed up at lowest depth specified instead\u003Cbr \u002F>\n(thanks to tkibler for pointing it out)\u003C\u002Fli>\n\u003Cli>Added option to only display pages of the current subpage\u003C\u002Fli>\n\u003Cli>Added option to show top-level page (previously it was always shown)\u003C\u002Fli>\n\u003Cli>Added accordion style option\u003C\u002Fli>\n\u003Cli>Cleaned up widget settings\u003C\u002Fli>\n\u003Cli>improved style management, including the ability to specify style per widget\u003C\u002Fli>\n\u003Cli>Switched from unicode symbols to html entities\u003C\u002Fli>\n\u003Cli>Not showing tags for title if empty\u003C\u002Fli>\n\u003Cli>Fixed bug with title attribute of pages\u003C\u002Fli>\n\u003Cli>Totally rewrote javascript\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Options\u003C\u002Fh3>\n\u003Cp>If using the manual version, you can pass options either as an array, or using\u003Cbr \u002F>\nthe query style, just like for other wordpress functions such as\u003Cbr \u002F>\n    wp_list_pages\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  $defaults=array(\n    'title' => __('Pages', 'collapsing-pages'), \n    'sortOrder'=> 'ASC' ,\n    'sort'=> 'pageName' ,\n    'defaultExpand'=> '',\n    'expand' => 0,\n    'depth' =>-1,\n    'inExcludePage' => 'exclude',\n    'linkToPage' => true,\n    'inExcludePages' => '',\n    'showPosts' => false,\n    'animate' => 0,\n    'useCookies' => true,\n    'postTitleLength' => 0,\n    'showTopLevel' => true,\n    'currentPageOnly' => false,\n    'debug' => false,\n  );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>inExcludePage\n\u003Cul>\n\u003Cli>Whether to include or exclude certain pages\n\u003Cul>\n\u003Cli>‘exclude’ (default) \u003C\u002Fli>\n\u003Cli>‘include’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>inExcludePages\n\u003Cul>\n\u003Cli>The pages which should be included or excluded\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>showPosts\n\u003Cul>\n\u003Cli>Whether or not to include posts as well as pages. Default if false\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>linkToPage\n\u003Cul>\n\u003Cli>True, clicking on a parent page title will link to that page (default)\u003C\u002Fli>\n\u003Cli>False, clicking on a parent page will expand to show sub-pages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>sort\n\u003Cul>\n\u003Cli>How to sort the pages. Possible values:\n\u003Cul>\n\u003Cli>‘pageName’ the title of the page (default)\u003C\u002Fli>\n\u003Cli>‘pageId’ the Id of the page\u003C\u002Fli>\n\u003Cli>‘pageSlug’ the url of the page\u003C\u002Fli>\n\u003Cli>‘menuOrder’ custom order specified in the pages settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>sortOrder\n\u003Cul>\n\u003Cli>Whether pages should be sorted in normal or reverse\u003Cbr \u002F>\norder. Possible values:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>‘ASC’ normal order (a-z 0-9) (default)\u003C\u002Fli>\n\u003Cli>‘DESC’ reverse order (z-a 9-0)  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>expand\n\u003Cul>\n\u003Cli>The symbols to be used to mark expanding and collapsing. Possible values:\n\u003Cul>\n\u003Cli>‘0’ Triangles (default)\u003C\u002Fli>\n\u003Cli>‘1’ + –\u003C\u002Fli>\n\u003Cli>‘2’ [+] [-]\u003C\u002Fli>\n\u003Cli>‘3’ images (you can upload your own if you wish)\u003C\u002Fli>\n\u003Cli>‘4’ custom symbols\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>customExpand\n\u003Cul>\n\u003Cli>If you have selected ‘4’ for the expand option, this character will be\u003Cbr \u002F>\nused to mark expandable link categories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>customCollapse\n\u003Cul>\n\u003Cli>If you have selected ‘4’ for the expand option, this character will be\u003Cbr \u002F>\nused to mark collapsible link categories\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>postTitleLength\n\u003Cul>\n\u003Cli>Truncate post titles to this number of characters (default: 0 = don’t\u003Cbr \u002F>\ntruncate)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>animate\n\u003Cul>\n\u003Cli>When set to true, collapsing and expanding will be animated\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>useCookies\n\u003Cul>\n\u003Cli>When true, expanding and collapsing of pages is remembered for each\u003Cbr \u002F>\nvisitor. When false, pages are always display collapsed (unless\u003Cbr \u002F>\nexplicitly set to auto-expand). Possible values:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>true (default)\u003C\u002Fli>\n\u003Cli>false\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>showTopLevel\n\u003Cul>\n\u003Cli>True –  show top level pages (default)\u003C\u002Fli>\n\u003Cli>False – only display sub-pages and below\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>currentPageOnly\n\u003Cul>\n\u003Cli>True –  show only parent and sub pages of the current page\u003C\u002Fli>\n\u003Cli>False – show all pages (subject to the include or exclude parameters\u003Cbr \u002F>\nset) (default)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>debug\n\u003Cul>\n\u003Cli>When set to true, extra debugging information will be displayed in the\u003Cbr \u002F>\nunderlying code of your page (but not visible from the browser). Use\u003Cbr \u002F>\nthis option if you are having problems\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>collapsPage('animate=true&sort=ASC&expand=3,inExcludePages=about')\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will produce a list with:\u003Cbr \u002F>\n* animation on\u003Cbr \u002F>\n* shown in alphabetical order\u003Cbr \u002F>\n* using images to mark collapsing and expanding\u003Cbr \u002F>\n* exclude page about\u003C\u002Fp>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>I use this plugin in my blog at http:\u002F\u002Fblog.robfelty.com\u003C\u002Fp>\n\u003Ch3>CAVEAT\u003C\u002Fh3>\n\u003Cp>Currently this plugin relies on Javascript to expand and collapse the links.\u003Cbr \u002F>\nIf a user’s browser doesn’t support javascript they won’t see the links to the\u003Cbr \u002F>\nposts, but the links to the pages will still work (which is the default\u003Cbr \u002F>\nbehavior in wordpress anyways)\u003C\u002Fp>\n","This plugin uses Javascript to dynamically expand or collapsable the set of pages for each parent page.",200,41129,"2024-01-01T11:21:00.000Z","6.4.8",[75,21,22,76,23],"menu","sidebar","http:\u002F\u002Frobfelty.com\u002Fplugins\u002Fcollapsing-pages","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcollapsing-pages.2.0.3.zip",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":11,"downloaded":87,"rating":11,"num_ratings":13,"last_updated":88,"tested_up_to":89,"requires_at_least":53,"requires_php":58,"tags":90,"homepage":92,"download_link":93,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"wenderhost-subpages-widget","WenderHost Subpages Widget","1.5.3","thewebist","https:\u002F\u002Fprofiles.wordpress.org\u002Fthewebist\u002F","\u003Cp>A widget for displaying a list of subpage links. The list remains consistent regardless of where you are in the hierarchy.\u003C\u002Fp>\n\u003Cp>Other features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widget displays only on pages with subpages or on subpages.\u003C\u002Fli>\n\u003Cli>List title is a link to the main page parent.\u003C\u002Fli>\n\u003Cli>You can specify the link text for the list title, or you can completely hide it.\u003C\u002Fli>\n\u003Cli>Sort subpages by \u003Cem>Menu Order\u003C\u002Fem> or \u003Cem>Page Title\u003C\u002Fem>.\u003C\u002Fli>\n\u003Cli>Specify the depth of pages shown (all in hierarchy, all in flat list, 1 level, 2 levels, etc.)\u003C\u002Fli>\n\u003Cli>Presentation utilizes minimal markup to allow for easy styling via your theme’s CSS.\u003C\u002Fli>\n\u003C\u002Ful>\n","A widget for displaying a list of subpage links. The list remains consistent regardless of where you are in the hierarchy.",12474,"2010-09-15T19:35:00.000Z","3.0.5",[20,91,23],"subpages","http:\u002F\u002Fwww.wenderhost.com\u002Ftools\u002Fwordpress-plugins\u002Fwenderhost-subpages-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwenderhost-subpages-widget.zip",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":102,"downloaded":103,"rating":11,"num_ratings":13,"last_updated":104,"tested_up_to":105,"requires_at_least":53,"requires_php":58,"tags":106,"homepage":107,"download_link":108,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"lj-subpages-widget","LJ Subpages Widget","1.3","littlejon","https:\u002F\u002Fprofiles.wordpress.org\u002Flittlejon\u002F","\u003Cp>LJ Subpages Widget allows you to display a menu listing subpages from a chosen page.\u003C\u002Fp>\n\u003Cp>This plugin was developed as I needed a widget to display a list of subpages in my sidebar. All the other plugins that I found would only display subpages from the current page being displayed.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Will display the subpages of a chosen Parent page (as of version 1.1 will show subpages of current page if required).\u003C\u002Fli>\n\u003Cli>Customizable Title with the choice of using the Parent Page Title or writing your own\u003C\u002Fli>\n\u003Cli>Compatible with subpages of subpages. You have the option of displaying Subpages of the Subpages being displayed (This is theme dependant, your theme must support submenus in the sidebar for this option to function as expected)\u003C\u002Fli>\n\u003Cli>If there are no subpages to display the widget outputs nothing rather then leaving a heading without any content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This widget was built using the new WordPress Widget API and as such it supports multi instance copies. For this reason it means that this widget is only supported by WordPress 2.8 and above. If you have a requirement for this plugin for a version of WordPress lower then 2.8 please contact me on the plugins homepage via a comment.\u003C\u002Fp>\n","LJ Subpages Widget allows you to display a menu listing subpages from a chosen page.",60,8409,"2011-03-17T07:29:00.000Z","3.1.4",[75,21,22,76,23],"http:\u002F\u002Fwww.thelazysysadmin.net\u002Fsoftware\u002Fwordpress-plugins\u002Flj-subpages-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flj-subpages-widget.1.3.zip",{"slug":110,"name":111,"version":112,"author":113,"author_profile":114,"description":115,"short_description":116,"active_installs":117,"downloaded":118,"rating":119,"num_ratings":13,"last_updated":120,"tested_up_to":121,"requires_at_least":122,"requires_php":58,"tags":123,"homepage":126,"download_link":127,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"local-navigation-extended","Local Navigation Extended","0.1","chriscarvache","https:\u002F\u002Fprofiles.wordpress.org\u002Fchriscarvache\u002F","\u003Cp>This simple widget uses the wp_list_pages() to output a local navigation menu.  The widget installs in seconds and is implemented just as quickly.\u003C\u002Fp>\n","This simple widget uses the wp_list_pages() to output a local navigation menu.",10,1787,80,"2012-04-17T00:29:00.000Z","3.4.2","3.0",[124,75,125],"local-navigation-widget","wp_list_pages","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Flocal-navigation-extended\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flocal-navigation-extended.zip",{"attackSurface":129,"codeSignals":152,"taintFlows":242,"riskAssessment":286,"analyzedAt":304},{"hooks":130,"ajaxHandlers":148,"restRoutes":149,"shortcodes":150,"cronEvents":151,"entryPointCount":27,"unprotectedCount":27},[131,137,140,144],{"type":132,"name":133,"callback":134,"file":135,"line":136},"action","init","load_translation","gd-pages-navigator.php",50,{"type":132,"name":138,"callback":138,"file":135,"line":139},"widgets_init",51,{"type":132,"name":141,"callback":142,"file":135,"line":143},"admin_enqueue_scripts","enqueue_scripts",52,{"type":132,"name":133,"callback":145,"file":146,"line":147},"gdr2_load_translations","gdr2\\gdr2.core.php",674,[],[],[],[],{"dangerousFunctions":153,"sqlUsage":160,"outputEscaping":166,"fileOperations":240,"externalRequests":27,"nonceChecks":27,"capabilityChecks":13,"bundledLibraries":241},[154,158],{"fn":155,"file":146,"line":156,"context":157},"unserialize",742,"$this->{$key} = unserialize( serialize( $val ) );",{"fn":155,"file":146,"line":159,"context":157},760,{"prepared":50,"raw":13,"locations":161},[162],{"file":163,"line":164,"context":165},"gdr2\\gdr2.fnc.php",403,"$wpdb->get_var() with variable interpolation",{"escaped":33,"rawEcho":167,"locations":168},39,[169,173,175,176,178,181,183,185,187,189,191,193,196,198,199,200,201,203,205,207,209,210,211,212,214,216,217,219,221,222,223,225,227,229,231,232,234,236,237],{"file":170,"line":171,"context":172},"gdr2\\gdr2.cache.php",78,"raw output",{"file":170,"line":174,"context":172},79,{"file":170,"line":119,"context":172},{"file":170,"line":177,"context":172},86,{"file":179,"line":180,"context":172},"gdr2\\gdr2.widget.php",206,{"file":179,"line":182,"context":172},209,{"file":179,"line":184,"context":172},210,{"file":179,"line":186,"context":172},211,{"file":179,"line":188,"context":172},214,{"file":179,"line":190,"context":172},215,{"file":179,"line":192,"context":172},288,{"file":194,"line":195,"context":172},"widget\\form.php",5,{"file":194,"line":197,"context":172},6,{"file":194,"line":197,"context":172},{"file":194,"line":197,"context":172},{"file":194,"line":117,"context":172},{"file":194,"line":202,"context":172},28,{"file":194,"line":204,"context":172},32,{"file":194,"line":206,"context":172},38,{"file":194,"line":208,"context":172},41,{"file":194,"line":139,"context":172},{"file":194,"line":143,"context":172},{"file":194,"line":143,"context":172},{"file":194,"line":213,"context":172},56,{"file":194,"line":215,"context":172},57,{"file":194,"line":215,"context":172},{"file":194,"line":218,"context":172},61,{"file":194,"line":220,"context":172},62,{"file":194,"line":220,"context":172},{"file":194,"line":220,"context":172},{"file":194,"line":224,"context":172},67,{"file":194,"line":226,"context":172},96,{"file":194,"line":228,"context":172},112,{"file":194,"line":230,"context":172},113,{"file":194,"line":230,"context":172},{"file":194,"line":233,"context":172},116,{"file":194,"line":235,"context":172},117,{"file":194,"line":235,"context":172},{"file":238,"line":239,"context":172},"widget\\load.php",244,18,[],[243,261],{"entryPoint":244,"graph":245,"unsanitizedCount":13,"severity":260},"wp_redirect_self (gdr2\\gdr2.fnc.php:179)",{"nodes":246,"edges":257},[247,252],{"id":248,"type":249,"label":250,"file":163,"line":251},"n0","source","$_SERVER['REQUEST_URI']",180,{"id":253,"type":254,"label":255,"file":163,"line":251,"wp_function":256},"n1","sink","wp_redirect() [Open Redirect]","wp_redirect",[258],{"from":248,"to":253,"sanitized":259},false,"medium",{"entryPoint":262,"graph":263,"unsanitizedCount":284,"severity":285},"\u003Cgdr2.fnc> (gdr2\\gdr2.fnc.php:0)",{"nodes":264,"edges":280},[265,266,267,271,275],{"id":248,"type":249,"label":250,"file":163,"line":251},{"id":253,"type":254,"label":255,"file":163,"line":251,"wp_function":256},{"id":268,"type":249,"label":269,"file":163,"line":270},"n2","$_SERVER",650,{"id":272,"type":273,"label":274,"file":163,"line":270},"n3","transform","→ gdr2_array_map()",{"id":276,"type":254,"label":277,"file":163,"line":278,"wp_function":279},"n4","call_user_func() [RCE]",655,"call_user_func",[281,282,283],{"from":248,"to":253,"sanitized":259},{"from":268,"to":272,"sanitized":259},{"from":272,"to":276,"sanitized":259},2,"high",{"summary":287,"deductions":288},"The \"gd-pages-navigator\" plugin v6.2.1 exhibits a mixed security posture.  On the positive side, the plugin has no recorded vulnerabilities (CVEs) and a very small attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events that are unprotected. This suggests good practices in limiting potential entry points for attackers.  However, the static analysis reveals significant concerns. The presence of two \"unserialize\" dangerous function calls is a major red flag, as unserialization of untrusted data can lead to remote code execution. Furthermore, the taint analysis indicates two flows with unsanitized paths, one of which is classified as high severity. This suggests that data processed by the plugin may not be adequately validated or sanitized before being used in sensitive operations. The low percentage of properly escaped output (30%) also points to potential cross-site scripting (XSS) vulnerabilities.",[289,292,295,297,300,302],{"reason":290,"points":291},"Dangerous function unserialize present",15,{"reason":293,"points":294},"High severity taint flow found",12,{"reason":296,"points":117},"Unsanitized paths in taint flows",{"reason":298,"points":299},"Low percentage of properly escaped output",8,{"reason":301,"points":195},"No nonce checks on potential entry points",{"reason":303,"points":195},"Limited capability checks","2026-03-16T21:04:03.349Z",{"wat":306,"direct":315},{"assetPaths":307,"generatorPatterns":310,"scriptPaths":311,"versionParams":312},[308,309],"\u002Fwp-content\u002Fplugins\u002Fgd-pages-navigator\u002Fcss\u002Fwidgets.css","\u002Fwp-content\u002Fplugins\u002Fgd-pages-navigator\u002Fjs\u002Fwidgets.js",[],[309],[313,314],"gd-pages-navigator\u002Fcss\u002Fwidgets.css?ver=","gd-pages-navigator\u002Fjs\u002Fwidgets.js?ver=",{"cssClasses":316,"htmlComments":317,"htmlAttributes":318,"restEndpoints":319,"jsGlobals":320,"shortcodeOutput":321},[],[],[],[],[],[]]