[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f-S5kXtDjckqQ8YIxaFSMnptOYVqYiLz0qwd1IssP--A":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":139,"fingerprints":184},"my-sites-widget","My Sites Widget","1.0","scribu","https:\u002F\u002Fprofiles.wordpress.org\u002Fscribu\u002F","\u003Cp>On a multisite installation, the admin bar has a menu item called My Sites.\u003C\u002Fp>\n\u003Cp>If you’re not a big fan of the admin bar on the front-end, try this widget instead. If the user is not logged in, he won’t see the widget at all.\u003C\u002Fp>\n","A widget that displays a list of sites that the current user has access to.",10,2834,0,"2014-01-04T02:06:00.000Z","3.7.41","3.0","",[19,20,21,22],"multisite","navigation","widget","wpmu","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fmy-sites-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmy-sites-widget.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},20,27990,86,4851,69,"2026-04-04T18:08:22.659Z",[37,55,73,97,118],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":13,"num_ratings":13,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":17,"tags":50,"homepage":53,"download_link":54,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"wpms-sidebar-login-widget","WPMS Sidebar Login Widget","1.9.4","Joshua Parker","https:\u002F\u002Fprofiles.wordpress.org\u002Fparkerj\u002F","\u003Cp>If you are running a WPMS (Multisite) blogging network, the issue with most login widgets that you add to the main site’s sidebar is that it doesn’t pull the user’s own blog info. That is why the WPMS Sidebar Login Widget was created. Instead of the user trying to remember the login page of their own site\u002Fblog, when a user logs into your main site, the widget will conveniently contain links to navigate to 3 different pages of the user’s blog: dashboard, new post page, and profile page.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Link to Network Admin page (only shows if user logged in is a super admin)\u003C\u002Fli>\n\u003Cli>Link to user’s dashboard\u003C\u002Fli>\n\u003Cli>Link to user’s new post page\u003C\u002Fli>\n\u003Cli>Link to user’s profile page\u003C\u002Fli>\n\u003Cli>Link to forums page\u003C\u002Fli>\n\u003Cli>Subblog registration detection\u003C\u002Fli>\n\u003Cli>Custom CSS settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To make sure it works, activate the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fuser-switching\u002F\" rel=\"ugc\">User Switching\u003C\u002Fa> plugin on the main site only to switch to a different user.\u003C\u002Fp>\n","Adds a sidebar widget to the main site of a WPMU\u002FWPMS install.",50,22785,"2012-02-19T04:23:00.000Z","3.3.2","2.8",[51,19,21,52,22],"login","wpms","http:\u002F\u002Fwww.7mediaws.org\u002Fblog\u002Fwpms_sidebar_login_widget.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpms-sidebar-login-widget.1.9.4.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":11,"downloaded":63,"rating":64,"num_ratings":65,"last_updated":17,"tested_up_to":66,"requires_at_least":17,"requires_php":17,"tags":67,"homepage":70,"download_link":71,"security_score":64,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":72},"multisite-dashboard-broadcast","Multisite Dashboard Broadcast","0.1","mogita","https:\u002F\u002Fprofiles.wordpress.org\u002Fck65\u002F","\u003Cp>NOTE: ONLY works with multisite (aka WordPress Network) mode for now.\u003C\u002Fp>\n\u003Cp>A super-easy-to-use Multisite WordPress news broadcasting tool for the Super Admin of the Network.\u003C\u002Fp>\n\u003Cp>This plugin can be helpful for the Super Admins to push a notification, some kind of messages, even some Ads if they like, to every site admins who registered under your Multisite WordPress network. The added widget will go to the first place of all widgets, unless the site admins move it elsewhere.\u003C\u002Fp>\n\u003Cp>This is a very simple task but yet no plugins ever met my simple need, so I made one for myself, and hope it helps you too.\u003C\u002Fp>\n\u003Cp>Key Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add a widget to every site admin’s dashboard (by Super Admin only)\u003C\u002Fli>\n\u003Cli>Support HTML content\u003C\u002Fli>\n\u003Cli>Comes at the top of all widgets\u003C\u002Fli>\n\u003Cli>Site admins can move or hide it as they wish\u003C\u002Fli>\n\u003Cli>Multi languages support (available in English and Chinese till now)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can find the configuration page at Manage Network -> Settings -> Dashbaord Broadcast.\u003C\u002Fp>\n","Place a widget on top of every site's dashboard under the same Multisite installation, containing whatever content the Super Admin writes.",2361,100,2,"3.5.2",[68,19,69,21,22],"dashboard","network","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmultisite-dashboard-broadcast\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultisite-dashboard-broadcast.zip","2026-03-15T10:48:56.248Z",{"slug":74,"name":75,"version":76,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":81,"downloaded":82,"rating":64,"num_ratings":83,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":87,"tags":88,"homepage":93,"download_link":94,"security_score":95,"vuln_count":65,"unpatched_count":13,"last_vuln_date":96,"fetched_at":27},"bellows-accordion-menu","Bellows Accordion Menu","1.4.4","sevenspark","https:\u002F\u002Fprofiles.wordpress.org\u002Fsevenspark\u002F","\u003Cp>Bellows is an awesome accordion menu for WordPress.  It works with the WordPress menu system to allow you to build beautiful accordion menus for your site.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpaccordionmenu.com\u002Ffree\u002F\" rel=\"nofollow ugc\">Bellows Lite Demo\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwpaccordionmenu.com\u002F\" rel=\"nofollow ugc\">Bellows Full Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Get started: \u003Ca href=\"http:\u002F\u002Fsevenspark.com\u002Fdocs\u002Fbellows\u002Fquick-start\u002Flite\" rel=\"nofollow ugc\">Bellows Quick Start Guide\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Feature Overview\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fully functional accordion menu\u003C\u002Fli>\n\u003Cli>Multiple submenu levels\u003C\u002Fli>\n\u003Cli>3 included skin presets\u003C\u002Fli>\n\u003Cli>Multi- or single-folding\u003C\u002Fli>\n\u003Cli>Expand current submenu automatically option\u003C\u002Fli>\n\u003Cli>Shortcode integration – add an accodion menu to yoru site anywhere you can add shortcodes\u003C\u002Fli>\n\u003Cli>Widget integration – add an accordion menu to your widgetized theme areas\u003C\u002Fli>\n\u003C\u002Ful>\n","A flexible and robust accordion menu plugin",10000,118946,23,"2025-05-19T16:18:00.000Z","6.8.5","5.0","7.4",[89,90,91,20,92],"accordion","images","menu","widgets","http:\u002F\u002Fgetbellows.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbellows-accordion-menu.1.4.4.zip",98,"2025-06-05 00:00:00",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":107,"num_ratings":108,"last_updated":109,"tested_up_to":110,"requires_at_least":86,"requires_php":17,"tags":111,"homepage":114,"download_link":115,"security_score":95,"vuln_count":116,"unpatched_count":13,"last_vuln_date":117,"fetched_at":27},"collapsing-categories","Collapsing Categories","3.0.12","robfelty","https:\u002F\u002Fprofiles.wordpress.org\u002Frobfelty\u002F","\u003Cp>Collapsing Categories creates an expandable list of categories and\u003Cbr \u002F>\nsubcategories. It can also expand to show posts. The primary usage is as a\u003Cbr \u002F>\nwidget, but you can also use the code in your theme manually if you wish (see\u003Cbr \u002F>\ninstallation instructions)\u003C\u002Fp>\n\u003Ch3>Options\u003C\u002Fh3>\n\u003Cp>Options can be set\u003Cbr \u002F>\nfrom the block panel. If you wish to insert the code into your theme manually\u003Cbr \u002F>\ninstead of using a widget, you can use the following options. These options\u003Cbr \u002F>\ncan be given to the \u003Ccode>collapsCat()\u003C\u002Fcode> function either as an array or in query\u003Cbr \u002F>\nstyle, in the same manner as the \u003Ccode>wp_list_categories\u003C\u002Fcode> function.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$defaults=array(\n   'showPostCount' => true,\n   'inExclude' => 'exclude',\n   'inExcludeCats' => '',\n   'showPosts' => true, \n   'showPages' => false,\n   'linkToCat' => true,\n   'olderThan' => 0,\n   'excludeAll' => '0',\n   'catSortOrder' => 'ASC',\n   'catSort' => 'catName',\n   'postSortOrder' => 'ASC',\n   'postSort' => 'postTitle',\n   'expand' => '0',\n   'defaultExpand' => '',\n   'postTitleLength' => 0,\n   'accordion' => 0,\n   'catfeed' => 'none',\n   'taxonomy' => 'category',\n   'showPostDate' => false,\n   'postDateAppend' => 'after',\n   'postDateFormat' => 'm\u002Fd',\n   'useCookies' => true,\n   'showTopLevel' => true,\n   'postsBeforeCats' => false,\n   'expandCatPost' => true,\n   'debug'=>'0'\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>inExclude\n\u003Cul>\n\u003Cli>Whether to include or exclude certain categories\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>inExcludeCats\n\u003Cul>\n\u003Cli>The categories which should be included or excluded\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>showPages\n\u003Cul>\n\u003Cli>Whether or not to include pages as well as posts. Default if false\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>linkToCat\n\u003Cul>\n\u003Cli>1 (true), clicking on a category title will link to the category archive (default)\u003C\u002Fli>\n\u003Cli>0 (false), clicking on a category title expands and collapses \u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>catSort\n\u003Cul>\n\u003Cli>How to sort the categorys. Possible values:\n\u003Cul>\n\u003Cli>‘catName’ the title of the category (default)\u003C\u002Fli>\n\u003Cli>‘catId’ the Id of the category\u003C\u002Fli>\n\u003Cli>‘catSlug’ the url of the category\u003C\u002Fli>\n\u003Cli>‘catCount’ the number of posts in the category\u003C\u002Fli>\n\u003Cli>‘catOrder’ custom order specified in the categorys settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>catSortOrder\n\u003Cul>\n\u003Cli>Whether categories 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>postSort\n\u003Cul>\n\u003Cli>How to sort the posts. Possible values:\n\u003Cul>\n\u003Cli>‘postDate’ the date of the post (default)\u003C\u002Fli>\n\u003Cli>‘postId’ the Id of the post\u003C\u002Fli>\n\u003Cli>‘postTitle’ the title of the post\u003C\u002Fli>\n\u003Cli>‘postComment’ the number of comments on the post\u003C\u002Fli>\n\u003Cli>‘postOrder’ sort by menu order\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>postSortOrder\n\u003Cul>\n\u003Cli>Whether post 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>accordion\n\u003Cul>\n\u003Cli>When set to true, expanding one category closes all others at that level\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>catfeed\n\u003Cul>\n\u003Cli>Whether to add a link to the rss feed for a category. Possible values:\n\u003Cul>\n\u003Cli>‘none’ (default)\u003C\u002Fli>\n\u003Cli>‘text’ shows RSS\u003C\u002Fli>\n\u003Cli>‘image’ shows an RSS icon\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>taxonomy\n\u003Cul>\n\u003Cli>Type of taxonmy to display. Possible values:\n\u003Cul>\n\u003Cli>‘category’ (default)\u003C\u002Fli>\n\u003Cli>‘link_category’\u003C\u002Fli>\n\u003Cli>‘post_tag’\u003C\u002Fli>\n\u003Cli>‘both’ (categories and tags)\u003C\u002Fli>\n\u003Cli>any other registered taxononmy (e.g. recipe press uses recipe-categories)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>showPostDate\n\u003Cul>\n\u003Cli>When true, show the date of each post\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>postDateAppend\n\u003Cul>\n\u003Cli>Show the date before or after the post title. Possible values:\n\u003Cul>\n\u003Cli>‘after’ (default)\u003C\u002Fli>\n\u003Cli>‘before’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>postDateFormat\n\u003Cul>\n\u003Cli>What format the post date is in. This uses the standard php date\u003Cbr \u002F>\nformatting codes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>useCookies\n\u003Cul>\n\u003Cli>When true, expanding and collapsing of categories is remembered for each\u003Cbr \u002F>\nvisitor. When false, categories are always display collapsed (unless\u003Cbr \u002F>\nexplicitly set to auto-expand). Possible values:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>1 (true) (default)\u003C\u002Fli>\n\u003Cli>0 (false)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>showTopLevel\n\u003Cul>\n\u003Cli>When set to false, the top level category will not be shown. This could\u003Cbr \u002F>\nbe useful if you only want to show subcategories from one particular\u003Cbr \u002F>\ntop-level category\u003C\u002Fp>\n\u003Cul>\n\u003Cli>1 (true) (default)\u003C\u002Fli>\n\u003Cli>0 (false)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>postsBeforeCats\n\u003Cul>\n\u003Cli>When set to true, posts in category X will be ordered before\u003Cbr \u002F>\nsubcategories of category X\u003C\u002Fp>\n\u003Cul>\n\u003Cli>1 (true)\u003C\u002Fli>\n\u003Cli>0 (false) (default)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>expandCatPost\n\u003Cul>\n\u003Cli>When set to true, any category to which a post is assigned will\u003Cbr \u002F>\nautomatically be expanded on a single post page.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>1 (true) (default)\u003C\u002Fli>\n\u003Cli>0 (false)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>showEmptyCat\n\u003Cul>\n\u003Cli>When set to true, empty categories are shown\n\u003Cul>\n\u003Cli>0 (false) (default)\u003C\u002Fli>\n\u003Cli>1 (true) \u003C\u002Fli>\n\u003C\u002Ful>\n\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>collapsCat('catSort=ASC&expand=3&inExcludeCats=general,uncategorized')\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will produce a list with:\u003Cbr \u002F>\n* categories shown in alphabetical order\u003Cbr \u002F>\n* using images to mark collapsing and expanding\u003Cbr \u002F>\n* exclude posts from  the categories general and uncategorized\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003C?php\u003Cbr \u002F>\n                    echo '\u003C\u002Fp>\n\u003Cul>‘ . “\\n”;\u003Cbr \u002F>\n                    if (function_exists(‘collapsCat’)) {\u003Cbr \u002F>\n                      collapsCat(array(\u003Cbr \u002F>\n                            ‘postSort’ => ‘postDate’,\u003Cbr \u002F>\n                            ‘postSortOrder’ => ‘DESC’,\u003Cbr \u002F>\n                        ) );\u003Cbr \u002F>\n                    } else {\u003Cbr \u002F>\n                      wp_get_categories(‘your_options_here’);\u003Cbr \u002F>\n                    }\u003Cbr \u002F>\n                    echo “\u003C\u002Ful>\n\u003Cp>\\n”;\u003Cbr \u002F>\n                    ?>\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>Demo\u003C\u002Fh3>\n\u003Cp>I use this plugin in my blog at http:\u002F\u002Frobfelty.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 categories will still work (which is the default\u003Cbr \u002F>\nbehavior in wordpress anyways)\u003C\u002Fp>\n","Adds a widget which uses Javascript to dynamically expand or collapse the set of posts for each category.",4000,291891,82,57,"2026-02-12T03:58:00.000Z","6.9.4",[112,20,113,21],"categories","sidebar","https:\u002F\u002Frobfelty.com\u002Fplugins","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcollapsing-categories.3.0.12.zip",1,"2024-12-17 00:00:00",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":128,"num_ratings":129,"last_updated":130,"tested_up_to":131,"requires_at_least":132,"requires_php":133,"tags":134,"homepage":137,"download_link":138,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"custom-menu-wizard","Custom Menu Wizard Widget","3.3.1","wizzud","https:\u002F\u002Fprofiles.wordpress.org\u002Fwizzud\u002F","\u003Cp>This plugin is a boosted version of the WordPress “Custom Menu” widget.\u003Cbr \u002F>\nIt provides full control over most of the parameters available when calling WP’s \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Freference\u002Ffunctions\u002Fwp_nav_menu\u002F\" rel=\"nofollow ugc\">wp_nav_menu()\u003C\u002Fa> function, as well as providing pre-filtering of the menu items in order to be able to select a specific portion of the custom menu. It also automatically adds a couple of custom classes. And there’s a shortcode that enables you to include the widget’s output in your content.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important!\u003C\u002Fstrong> This plugin provides \u003Cstrong>\u003Cem>nothing\u003C\u002Fem>\u003C\u002Fstrong> – \u003Cem>zip, zilch, nada, bupkis\u003C\u002Fem> – in the way of frontend styling! The\u003Cbr \u002F>\nappearance of any final output is down to you and your theme, so if you’re just looking for something to re-style\u003Cbr \u002F>\na menu then I’m sorry but this plugin \u003Cem>won’t do that\u003C\u002Fem>!\u003C\u002Fp>\n\u003Cp>Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display an entire menu, just a branch of it, just certain level(s) of it, or even just specific items from it!\u003C\u002Fli>\n\u003Cli>Select a branch based on a specific menu item, or the current menu item (currently displayed page)\u003C\u002Fli>\n\u003Cli>Specify a relative or absolute level to start at, and the number of levels to output\u003C\u002Fli>\n\u003Cli>Include ancestor item(s) in the output, with or without siblings\u003C\u002Fli>\n\u003Cli>Exclude certain menu items, or levels of items\u003C\u002Fli>\n\u003Cli>Make the output conditional upon the current menu item being found in different stages of the filter selection process\u003C\u002Fli>\n\u003Cli>Automatically add cmw-level-N and cmw-has-submenu classes to output menu items\u003C\u002Fli>\n\u003Cli>Allow the widget title to be entered but not output, or to be set from the current menu item or selected branch item\u003C\u002Fli>\n\u003Cli>Select hierarchical or flat output, both options still abiding by the specified number of levels to output\u003C\u002Fli>\n\u003Cli>Specify custom class(es) for the widget block, the menu container, and the menu itself\u003C\u002Fli>\n\u003Cli>Modify the link’s output with additional HTML around the link’s text and\u002For the link element itself\u003C\u002Fli>\n\u003Cli>Use Ordered Lists (OL) for the top and\u002For sub levels instead of Unordered Lists (UL)\u003C\u002Fli>\n\u003Cli>Shortcode, \u003Ccode>[cmwizard]\u003C\u002Fcode>, available to run the widget from within content\u003C\u002Fli>\n\u003Cli>Shortcode can reference a widget instance, making maintenance of multiple occurences of the same (or very similar) shortcode a lot easier\u003C\u002Fli>\n\u003Cli>Interactive “assist” to help with the widget settings and\u002For shortcode definition\u003C\u002Fli>\n\u003Cli>Utility to find posts containing this plugin’s shortcode\u003C\u002Fli>\n\u003Cli>Specify an alternative configuration to use under certain conditions (dual-scenario capability)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Current documentation for the \u003Cstrong>Widget Options\u003C\u002Fstrong> can be found\u003Cbr \u002F>\nunder \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-menu-wizard\u002Fother_notes\u002F\" rel=\"ugc\">Other Notes\u003C\u002Fa>.\u003Cbr \u002F>\nThe associated \u003Cstrong>Shortcode Attributes\u003C\u002Fstrong> are documented\u003Cbr \u002F>\nunder \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-menu-wizard\u002Finstallation\u002F\" rel=\"ugc\">Installation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>You may find that the documentation here is truncated, so I have reproduced the readme.txt\u003Cbr \u002F>\n    as \u003Ca href=\"http:\u002F\u002Fwww.wizzud.com\u002Fcmw-doc.html\" rel=\"nofollow ugc\">cmw-doc.html\u003C\u002Fa>.\u003Cbr \u002F>\n    This file is also now included in the plugin download, and is linked to from the Custom Menu Wizard entry\u003Cbr \u002F>\n    on the admin Plugins page.\u003Cbr \u002F>\n    My apologies if this causes – or has caused – any confusion.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>Please, do not be put off by the number of options available!\u003C\u002Fstrong> I suspect (and I admit that I’m guessing!) that for the majority of users\u003Cbr \u002F>\nthere are probably a couple of very common scenarios:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Show an entire menu…\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Drag a new Custom Menu Wizard widget into the sidebar, and give it a title (if you want one)\u003C\u002Fli>\n\u003Cli>Select the menu you wish to use (if it’s not already selected)\u003C\u002Fli>\n\u003Cli>Save the widget!\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cem>Equivalent shortcode resembles…\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>[cmwizard menu=N title=”Your Title”\u002F]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show the current menu item, plus any descendants…\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Drag a new Custom Menu Wizard widget into the sidebar, and give it a title (if you want one)\u003C\u002Fli>\n\u003Cli>Select the menu you wish to use (if it’s not already selected)\u003C\u002Fli>\n\u003Cli>Open the FILTERS section :\n\u003Cul>\n\u003Cli>under Primary Filter, click on the \u003Cem>Branch\u003C\u002Fem> radio\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Save the widget!\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cem>Equivalent shortcode resembles…\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>[cmwizard menu=N title=”Your Title” branch=current\u002F]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show just the descendants of the current menu item (if there are any)…\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Drag a new Custom Menu Wizard widget into the sidebar, and give it a title (if you want one)\u003C\u002Fli>\n\u003Cli>Select the menu you wish to use (if it’s not already selected)\u003C\u002Fli>\n\u003Cli>Open the FILTERS section :\n\u003Cul>\n\u003Cli>under Primary Filter, click on the \u003Cem>Branch\u003C\u002Fem> radio\u003C\u002Fli>\n\u003Cli>under Secondary Filter, set \u003Cem>Starting at\u003C\u002Fem> to “+1 (children)”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Save the widget!\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cem>Equivalent shortcode resembles…\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>[cmwizard menu=N title=”Your Title” branch=current start_at=”+1″\u002F]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Always show the top level items, but when the menu contains the current item then also show that current item, with its ancestors and immediate children…\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Drag a new Custom Menu Wizard widget into the sidebar, and give it a title (if you want one)\u003C\u002Fli>\n\u003Cli>Select the menu you wish to use (if it’s not already selected)\u003C\u002Fli>\n\u003Cli>Open the FILTERS section :\n\u003Cul>\n\u003Cli>under Primary Filter, click on the \u003Cem>Branch\u003C\u002Fem> radio\u003C\u002Fli>\n\u003Cli>under Secondary Filter, set \u003Cem>Depth\u003C\u002Fem> to “2 levels” (ie. current item plus immediate children)\u003C\u002Fli>\n\u003Cli>under Inclusions, set \u003Cem>Branch Ancestors\u003C\u002Fem> to “to level 1 (root)”, and set \u003Cem>Level\u003C\u002Fem> to “1”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Open the ALTERNATIVE section :\n\u003Cul>\n\u003Cli>set \u003Cem>On condition\u003C\u002Fem> to “Current Item is NOT in…” and “Menu” (the 2nd dropdown)\u003C\u002Fli>\n\u003Cli>in the \u003Cem>Then switch settings to\u003C\u002Fem> textarea, type in “[cmwizard depth=1\u002F]” (without the quotes!)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Save the widget!\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cem>Equivalent shortcode resembles…\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>[cmwizard menu=N branch=current depth=2 ancestors=1 include_level=”1″ alternative=”no-current,menu”]depth=1[\u002Fcmwizard]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>If you like this widget (or if you don’t?), please consider taking a moment or two to give it a\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fcustom-menu-wizard\" rel=\"ugc\">Review\u003C\u002Fa> : it helps others, and gives me valuable feedback.\u003C\u002Fp>\n\u003Cp>\u003Cem>Documentation for version 2 of the widget\u003Cbr \u002F>\ncan be found \u003Ca href=\"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcustom-menu-wizard\u002Ftags\u002F2.0.6\u002Freadme.txt\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003Cbr \u002F>\nor \u003Ca href=\"http:\u002F\u002Fwww.wizzud.com\u002Fv210-readme.html\" rel=\"nofollow ugc\">here\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>WIDGET OPTIONS\u003C\u002Fh3>\n\u003Cp>There are quite a few options, which makes the widget settings box very long. I have therefore grouped most of the options into\u003Cbr \u002F>\ncollapsible logical sections (with remembered state once saved).\u003C\u002Fp>\n\u003Cp>The associated \u003Cstrong>SHORTCODE ATTRIBUTES\u003C\u002Fstrong> are documented\u003Cbr \u002F>\nunder \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-menu-wizard\u002Finstallation\u002F\" rel=\"ugc\">Installation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Cstrong>Always Visible\u003C\u002Fstrong>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Title\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Set the title for your widget.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Hide\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Prevents the entered \u003Ccode>Title\u003C\u002Fcode> being displayed in the front-end widget output.\u003C\u002Fp>\n\u003Cp>In the Widgets admin page, I find it useful to still be able to see the \u003Ccode>Title\u003C\u002Fcode> in the sidebar when the widget is closed, but I\u003Cbr \u002F>\ndon’t necessarily want that \u003Ccode>Title\u003C\u002Fcode> to actually be output when the widget is displayed at the front-end. Hence this checkbox.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Select Menu\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Choose the appropriate menu from the dropdown list of Custom Menus currently defined in your WordPress application. The\u003Cbr \u002F>\nfirst one available (alphabetically) is already selected for you by default.\u003C\u002Fp>\n\u003Ch3>Filters Section\u003C\u002Fh3>\n\u003Cp>Filters are applied in the order they are presented.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Primary Filter\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Level\u003C\u002Fstrong> \u003Cem>(radio, default On, & select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Filters by level within the selected menu, starting at the level selected here. This is the default setting\u003Cbr \u002F>\nfor a new widget instance, which, if left alone and with all other options at their default, will show the entire selected menu.\u003C\u002Fp>\n\u003Cp>Example : If you wanted to show all the options that were at level 3 or below, you could check this radio and set the select to “3”.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Branch\u003C\u002Fstrong> \u003Cem>(radio & select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Filters by branch, with the head item of the branch being selected from the dropdown. The dropdown presents all the\u003Cbr \u002F>\nitems from the selected menu, plus a “Current Item” option (the default). Selecting “Current Item” means that the head item of the\u003Cbr \u002F>\nbranch is the current menu item (as indicated by WordPress), provided, of course, that the current menu item actually corresponds to\u003Cbr \u002F>\na menu item from the currently selected menu!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Items\u003C\u002Fstrong> \u003Cem>(radio & textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Filters by the menu items that you specifically pick (by menu item id, as a comma-separated list). The simplest way\u003Cbr \u002F>\nto get your list of ids is to use the “assist”, and [un]check the green tick box at the right hand side of each depicted menu item that\u003Cbr \u002F>\nyou want. Alternatively, just type your list of ids into the box.\u003C\u002Fp>\n\u003Cp>If the id is appended with a ‘+’, eg. ’23+’, then all the item’s descendants will also be included.\u003C\u002Fp>\n\u003Cp>Example : If you only wanted to show, say, 5 of your many available menu items, and those 5 items are not in one handy branch of the menu,\u003Cbr \u002F>\nthen you might want to use this option.\u003C\u002Fp>\n\u003Cp>Example : If your menu has 6 root branches – “A” thru to “F” – and you were only interested in branches “B” (id of, say, 11) and\u003Cbr \u002F>\n“E” (id of, say, 19), you could set \u003Ccode>Items\u003C\u002Fcode> to be “11+,19+”, which would include “B” with all its descendants, and “E” with all its\u003Cbr \u002F>\ndescendants.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Secondary Filter\u003C\u002Fem>\u003C\u002Fstrong> \u003Cem>(not applicable to an \u003Ccode>Items\u003C\u002Fcode> filter)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Starting at\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This is only applicable to a \u003Ccode>Branch\u003C\u002Fcode> filter and it allows you to shift the starting point of your output within the confines\u003Cbr \u002F>\nof the selected branch. By default it is set to the selected branch item itself, but it can be changed to a relative of the branch item (eg.\u003Cbr \u002F>\nparent, grandparent, children, etc) or to an absolute, fixed level within the branch containing the selected branch item (eg. the root\u003Cbr \u002F>\nlevel item for the branch, or one level below the branch’s root item, etc).\u003C\u002Fp>\n\u003Cp>Example : If you wanted the entire “current” branch then, with \u003Ccode>Branch\u003C\u002Fcode> set to “Current Item”, you might set \u003Ccode>Starting at\u003C\u002Fcode> to “1 (root)”.\u003Cbr \u002F>\nAlternatively, if you wanted the children of the current menu item then \u003Ccode>Starting at\u003C\u002Fcode> could be set to “+1 (children)”.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Item, if possible\u003C\u002Fstrong> \u003Cem>(radio, default On)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This is the default filter mechanism whereby, if \u003Ccode>Starting at\u003C\u002Fcode> can only result in a single item (ie. it is the branch item itself, or\u003Cbr \u002F>\nan ancestor thereof) then only that item and its descendants are considered for filtering.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Level\u003C\u002Fstrong> \u003Cem>(radio)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Changes the default filter mechanism such that if \u003Ccode>Starting at\u003C\u002Fcode> results in the selection of the branch item or one of its ancestors,\u003Cbr \u002F>\nthen all siblings of that resultant item are also included in the secondary filtering process.\u003C\u002Fp>\n\u003Cp>Example : If Joe and Fred are siblings (ie. they have a common parent) and Joe is the selected branch item – with \u003Ccode>Starting at\u003C\u002Fcode> set\u003Cbr \u002F>\nto Joe – then the secondary filter would normally only consider Joe and its descendants. However, if \u003Ccode>Level\u003C\u002Fcode> was enabled instead of\u003Cbr \u002F>\n    Item, then both Joe and Fred, \u003Cem>and all their descendants\u003C\u002Fem>, would be considered for filtering.\u003C\u002Fp>\n\u003Cp>Note that there is one exception, and that is that if \u003Ccode>Starting at\u003C\u002Fcode> results in a root-level item, then \u003Ccode>Allow all Root Items\u003C\u002Fcode> must\u003Cbr \u002F>\nbe enabled in order to allow the other sibling root items to be added into the filter process.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Allow all Root Items\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>In the right conditions – see \u003Ccode>Level\u003C\u002Fcode> above – this allows sibling root items to be considered for secondary filtering.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>For Depth\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This the number of levels of the menu structure that will be considered for inclusion in the final output (in complete\u003Cbr \u002F>\nignorance of any subsequent Inclusions or Exclusions).\u003C\u002Fp>\n\u003Cp>The first level of output is the starting level, regardless of\u003Cbr \u002F>\nhow that starting level is determined (see \u003Ccode>Starting at\u003C\u002Fcode> and \u003Ccode>Relative to Current Item\u003C\u002Fcode> options). So if you ask\u003Cbr \u002F>\nfor a Depth of 1 level, you get just the starting level; if you ask for a Depth of 2, you get the starting level and\u003Cbr \u002F>\nthe one below it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Relative to Current Item\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>By default, \u003Ccode>For Depth\u003C\u002Fcode> (above) is relative to the first item found, but this may be overridden to be relative to the\u003Cbr \u002F>\ncurrent menu item \u003Cstrong>\u003Cem>if\u003C\u002Fem>\u003C\u002Fstrong>  \u003Ccode>For Depth\u003C\u002Fcode> is not unlimited \u003Cstrong>and\u003C\u002Fstrong> the current menu item can found within the selected menu.\u003Cbr \u002F>\nIf the current menu item is not within the selected menu then it falls back to being relative to the first item found.\u003C\u002Fp>\n\u003Cp>Please note that the current item must also be within the constraints set by the \u003Ccode>Starting at\u003C\u002Fcode> option. In other words, if\u003Cbr \u002F>\ncurrent item is \u003Cem>above\u003C\u002Fem> the \u003Ccode>Starting at\u003C\u002Fcode> level in the menu structure then it will \u003Cstrong>not\u003C\u002Fstrong> be used to alter the determination of\u003Cbr \u002F>\nDepth.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Inclusions\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>These allow certain other items to be added to the output from the secondary filters.\u003C\u002Fp>\n\u003Cp>The first 3 are only applicable to a \u003Ccode>Branch\u003C\u002Fcode> filter. Please note that they only come into effect when the \u003Ccode>Branch\u003C\u002Fcode> filter item is at\u003Cbr \u002F>\nor below the \u003Ccode>Starting at\u003C\u002Fcode> level, and do not include any items that would break the depth limit set in the Secondary Filter options.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Branch Ancestors\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Include any ancestors (parent, grandparent, etc) of the items selected as the \u003Ccode>Branch\u003C\u002Fcode> filter.\u003Cbr \u002F>\nAncestors can be set to go up to an absolute level, or to go up a certain number of levels relative to the \u003Ccode>Branch\u003C\u002Fcode> filter item.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>… with Siblings\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>In conjunction with \u003Ccode>Branch Ancestors\u003C\u002Fcode>, also include all siblings of those ancestors.\u003Cbr \u002F>\nAs with Ancestors, their siblings can be set to go up to an absolute level, or to go up a certain number of levels relative\u003Cbr \u002F>\nto the \u003Ccode>Branch\u003C\u002Fcode> filter item. Note that while it is possibe to set a larger range for siblings than ancestors, the final output\u003Cbr \u002F>\nis limited by \u003Ccode>Branch Ancestors\u003C\u002Fcode> setting.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Branch Siblings\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Include any siblings of the item selected as the \u003Ccode>Branch\u003C\u002Fcode> filter (ie. any items at the same level and within\u003Cbr \u002F>\nthe same branch as the \u003Ccode>Branch\u003C\u002Fcode> item).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Level\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This allows an entire level of items to be included, optionally also including all levels either above or below it.\u003Cbr \u002F>\nThis replaces the \u003Ccode>All Root Items\u003C\u002Fcode> checkbox (pre v3.0.4), which only allowed for the inclusion of the root level items.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Exclusions\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Item Ids\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This is a comma-separated list of the ids of menu items that you do \u003Cem>not\u003C\u002Fem> want to appear in the final output.\u003Cbr \u002F>\nThe simplest way to get your list of ids is to use the “assist”, and [un]check\u003Cbr \u002F>\nthe red cross box at the left hand side of each depicted menu item. Alternatively, just type your list of ids into the box.\u003C\u002Fp>\n\u003Cp>If the id is appended with a ‘+’, eg. ’23+’, then all the item’s descendants will also be excluded.\u003C\u002Fp>\n\u003Cp>Example : If you wanted to show the entire “A” branch, with the sole exception of one grandchild of “A”, say “ABC”, then you could\u003Cbr \u002F>\nset \u003Ccode>Branch\u003C\u002Fcode> to “A”, and \u003Ccode>Exclusions\u003C\u002Fcode> to the id of the “ABC” item.\u003C\u002Fp>\n\u003Cp>Example : If you have a menu with 4 root items – “A”, “B”, “C” & “D” – and you wanted to show all items, with descendants, for all bar\u003Cbr \u002F>\nthe “C” branch, then you could set \u003Ccode>Level\u003C\u002Fcode> to “1 (root)” and \u003Ccode>Exclusions\u003C\u002Fcode> to, say, “12+”, where “12” is the menu item id for “C” and\u003Cbr \u002F>\nthe “+” indicates that all the descendants of “C” should also be excluded.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Level\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This allows an entire level of items to be excluded, optionally also excluding all levels either above or below it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Qualifier\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Current Item is in\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This allows you to specify that there only be any output shown when\u002Fif the current menu item is one of the menu items selected\u003Cbr \u002F>\nfor output at a particular stage in the filter processing.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>“Menu”\u003C\u002Fem> : the current menu item has to be somewhere within the selected menu.\u003C\u002Fli>\n\u003Cli>\u003Cem>“Primary Filter”\u003C\u002Fem> : the current menu item has to be within the scope of the selected primary filter. So if you selected, say, a child\u003Cbr \u002F>\nof “A” as the \u003Ccode>Branch\u003C\u002Fcode> item, then if “A” was the current menu item there would be no output with this qualifier.\u003C\u002Fli>\n\u003Cli>\u003Cem>“Secondary Filter”\u003C\u002Fem> : the current menu item has to be within the items as restricted by the secondary filters. So if you\u003Cbr \u002F>\nselected \u003Ccode>Branch\u003C\u002Fcode> as “A”, with \u003Ccode>Starting at\u003C\u002Fcode> set to “+1 (children)”, then if “A” was the current menu item there would be no output with this qualifier.\u003C\u002Fli>\n\u003Cli>\u003Cem>“Inclusions”\u003C\u002Fem> : the current menu item has to be in within the items as set by the primary and secondary filters, and the inclusions.\u003C\u002Fli>\n\u003Cli>\u003Cem>“Final Output”\u003C\u002Fem> : the current menu item has to be in the final output.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Fallbacks Section\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>\u003Cem>If Current Item has no children\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This gets applied at the Secondary Filter stage, and its eligibility and\u003Cbr \u002F>\napplication are therefore determined and governed by the other Secondary Filter settings.\u003C\u002Fp>\n\u003Cp>It only comes into play (possibly) when a \u003Ccode>Branch\u003C\u002Fcode> filter is set as “Current Item”, and the \u003Ccode>Starting at\u003C\u002Fcode>\u003Cbr \u002F>\nand \u003Ccode>For Depth\u003C\u002Fcode> settings are such that the output should start at or below the current item,\u003Cbr \u002F>\nand would normally include some of the current item’s descendants\u003Cbr \u002F>\n(eg. \u003Ccode>Starting at\u003C\u002Fcode> “the Branch”, \u003Ccode>For Depth\u003C\u002Fcode> “1 level” does \u003Cem>not\u003C\u002Fem> invoke the fallback).\u003Cbr \u002F>\nThe fallback allows for the occasion when the current menu item \u003Cem>does not have\u003C\u002Fem> any immediate children.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Unlabelled Select\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Enable the fallback by selecting one of\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>Start at : -1 (parent)\u003C\u002Fem> : overrides the \u003Ccode>Starting at\u003C\u002Fcode> option to be the immediate parent of the Current Item\u003C\u002Fli>\n\u003Cli>\u003Cem>Start at : the Current Item\u003C\u002Fem> : overrides the \u003Ccode>Starting at\u003C\u002Fcode> option to be the Current Item\u003C\u002Fli>\n\u003Cli>\u003Cem>No output!\u003C\u002Fem> : self-explanatory\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>…and Include its Siblings\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This will add in the siblings of the item selected above (excluding the “No output!” setting!).\u003C\u002Fp>\n\u003Cp>Note : This \u003Cem>only\u003C\u002Fem> adds the siblings, not the siblings’ descendants! However, if the \u003Ccode>Level\u003C\u002Fcode> radio (in Secondary Filter stage above) is\u003Cbr \u002F>\nset, then all the item’s siblings \u003Cem>and their descendants\u003C\u002Fem> will automatically be included, and [un]setting this option will have no effect.\u003Cbr \u002F>\nAlso note that if the fallback results in a root-level item being selected as the new \u003Ccode>Starting at\u003C\u002Fcode> item, then the inclusion of siblings\u003Cbr \u002F>\noutside the current branch depends on the setting of the \u003Ccode>Allow all Root Items\u003C\u002Fcode> checkbox.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>For Depth\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Override the current \u003Ccode>For Depth\u003C\u002Fcode> setting. Note that any depth value set here will be relative to the current item, regardless\u003Cbr \u002F>\nof the current setting of \u003Ccode>...Relative to\u003C\u002Fcode>!\u003C\u002Fp>\n\u003Cp>As an example, this option may be useful in the following scenario : item A has 2 children, B and C; B is the current menu item but has\u003Cbr \u002F>\nno children, whereas C has loads of children\u002Fgrandchildren. If you fallback to B’s parent – A – with Unlimited depth set, then you will\u003Cbr \u002F>\nget A, B, C, and \u003Cem>all\u003C\u002Fem> C’s dependents! You may well want to override depth to limit the output to, say, just A, B and C, by setting this\u003Cbr \u002F>\nfallback option to “1”? Or maybe A, B, C, and C’s immediate children, by setting “2”?\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>If no Current Item can be found\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Try items marked Parent of Current\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This gets applied right at the start of processing, when determining\u003Cbr \u002F>\nwhich of the menu items (if any) should be regarded as the unique “Current Item” by this widget.\u003Cbr \u002F>\nUnder certain conditions, WordPress will mark an item as being the parent of a current item …\u003Cbr \u002F>\nbut there won’t actually be a current item marked! This occurs, for example, when displaying a full post for which there is\u003Cbr \u002F>\nno specific related menu item, yet there \u003Cem>is\u003C\u002Fem> a menu item for a Category that the displayed post belongs to :\u003Cbr \u002F>\nWordPress will then mark the related Category as being the parent of the current item (the post) even though\u003Cbr \u002F>\nit can’t mark the post as being the current item (because there’s no specific item for it within the menu).\u003C\u002Fp>\n\u003Cp>Enabling this fallback will make the widget look for these situations – only as a last resort! –\u003Cbr \u002F>\nand set (one of) the found “parent” item(s) as the Current Item.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>If more than 1 possible Current Item\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Use the last one found\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Occasionally it is possible for CMW to have more than one possible candidate for Current Item. Since there can only be one\u003Cbr \u002F>\nCurrent Item, CMW picks the \u003Cem>first one\u003C\u002Fem> encountered. However, this may cause a problem where, for example, a root level item \u003Cstrong>and\u003C\u002Fstrong>\u003Cbr \u002F>\none of its sub-menu items are \u003Cem>both\u003C\u002Fem> set to list items from Category A, and the page being displayed is a full post that belongs\u003Cbr \u002F>\nto category A : CMW will more than likely determine that the root level item is the Current Item, whereas you really need the\u003Cbr \u002F>\nsub-menu item to be the Current Item (probably to maintain consistency with what is produced when other sub-menu items are “current”).\u003C\u002Fp>\n\u003Cp>Enabling this fallback will make CMW use the last-found (instead of first-found) candidate for Current item, ie. when\u003Cbr \u002F>\nthe choice is between a submenu item or its parent item, the submenu item will be used.\u003C\u002Fp>\n\u003Cp>Note that this option is most likely to only have any effect when the \u003Ccode>If no Current Item can be found\u003C\u002Fcode> fallback (above) is\u003Cbr \u002F>\nenabled, but given that any other plugin\u002Ftheme could affect the menu item structure that gets passed thru to CMW it is not\u003Cbr \u002F>\nimpossible for other configurations to also be affected.\u003C\u002Fp>\n\u003Ch3>Output Section\u003C\u002Fh3>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Hierarchical\u003C\u002Fstrong> \u003Cem>(radio, default On)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Output in the standard nested list format. The alternative is \u003Ccode>Flat\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flat\u003C\u002Fstrong> \u003Cem>(radio)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Output in a single list format, ignoring any parent-child relationship other than to maintain the same physical order as would be\u003Cbr \u002F>\npresented in a \u003Ccode>Hierarchical\u003C\u002Fcode> output (which is the alternative and default).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Set Title from\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>These allow you to set the \u003Ccode>Title\u003C\u002Fcode> option from a menu item, and, if brought into play, the \u003Ccode>Hide\u003C\u002Fcode> flag is ignored.\u003Cbr \u002F>\nNote that the item providing the \u003Ccode>Title\u003C\u002Fcode> only has to be within the selected menu; it does not have to be present in the final output!\u003Cbr \u002F>\nNote also that a \u003Ccode>Current Item\u003C\u002Fcode> setting will be used in preference to a \u003Ccode>Branch Item\u003C\u002Fcode> setting.\u003C\u002Fp>\n\u003Cp>A relative setting – such as \u003Ccode>Currrent Item\u003C\u002Fcode> “-2 levels” – will top out at the root-level ancestor (which\u003Cbr \u002F>\ncould be the Current\u002FBranch Item!) if there aren’t enough ancestors available.\u003Cbr \u002F>\nAlso, an absolute setting – such as \u003Ccode>Branch Item\u003C\u002Fcode> “level 4” – will bottom out at the Current\u002FBranch Item\u003Cbr \u002F>\nif it’s at\u002Fabove the absolute level specified.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Current Item\u003C\u002Fstrong> \u003Cem>(select)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Sets \u003Ccode>Title\u003C\u002Fcode> from the current menu item (if current menu item is in the selected menu), or an ancestor\u003Cbr \u002F>\nof that item, either at an absolute or relative level.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Branch Item\u003C\u002Fstrong> *(select)\u003C\u002Fp>\n\u003Cp>Only applicable to a \u003Ccode>Branch\u003C\u002Fcode> filter, and sets \u003Ccode>Title\u003C\u002Fcode> from the \u003Ccode>Branch\u003C\u002Fcode> item, or an ancestor\u003Cbr \u002F>\nof that item, either at an absolute or relative level.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Make it a Link\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>If the widget \u003Ccode>Title\u003C\u002Fcode> does actually get set using one of the options above, then this will\u003Cbr \u002F>\nput an anchor around the title, using the information from the menu item that supplies the title.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Cem>Change UL to OL\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The standard for menus is to use UL (unordered list) elements to display the output. These settings give you the option to\u003Cbr \u002F>\nswap the ULs out for OLs (ordered lists).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Top Level\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Swap the outermost UL for an OL.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Sub-Levels\u003C\u002Fstrong> \u003Cem>(checkbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Swap any nested (ie. not the outermost) ULs for an OLs.\u003C\u002Fp>\n\u003Ch3>Container Section\u003C\u002Fh3>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Element\u003C\u002Fstrong> \u003Cem>(textbox, default “div”)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>The menu list is usually wrapped in a “container” element, and this is the tag for that element.\u003Cbr \u002F>\nYou may change it for another tag, or you may clear it out and the container will be completely removed. Please note that\u003Cbr \u002F>\nWordPress is set by default to only accept “div” or “nav”, but that could be changed or extended by any theme or plugin.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Unique ID\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This allows you to specify your own id (which should be unique) for the container.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Class\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This allows you to add your own class to the container element.\u003C\u002Fp>\n\u003Ch3>Classes Section\u003C\u002Fh3>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Menu Class\u003C\u002Fstrong> \u003Cem>(textbox, default “menu-widget”)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This is the class that will be applied to the list element that holds the entire menu.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Widget Class\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This allows you to add your own class to the outermost element of the widget, the one that wraps the entire widget output.\u003C\u002Fp>\n\u003Ch3>Links Section\u003C\u002Fh3>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Before the Link\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Text or HTML that will be placed immediately before each menu item’s link.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>After the Link\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Text or HTML that will be placed immediately after each menu item’s link.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Before the Link Text\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Text or HTML that will be placed immediately before each menu item’s link text.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>After the Link Text\u003C\u002Fstrong> \u003Cem>(textbox)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Text or HTML that will be placed immediately after each menu item’s link text.\u003C\u002Fp>\n\u003Ch3>Alternative Section\u003C\u002Fh3>\n\u003Cp>This is new at v3.1.0 and provides a limited dual-scenario capability, based on a couple of conditions. For example, let’s say you\u003Cbr \u002F>\nwant to show the Current Item and its immediate children, \u003Cem>but\u003C\u002Fem> if there isn’t a Current Item then you want to show the top 2 levels\u003Cbr \u002F>\nof the menu : previously this was not possible solely with CMW, but now you can configure the main widget settings for the “current item”\u003Cbr \u002F>\nscenario, and add an Alternative setting for when no Current Item can be determined.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>On condition\u003C\u002Fstrong> \u003Cem>(2 selects)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Select the appropriate condition for when your Alternative configuration should be used, and also the stage within the\u003Cbr \u002F>\nFilter processing when this condition should be tested for (similar to the Qualifier, \u003Ccode>Current Item is in\u003C\u002Fcode>). You need\u003Cbr \u002F>\nvalues in both selects for the Alternative to be considered.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Then switch settings to\u003C\u002Fstrong> \u003Cem>(textarea)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This should contain a CMW-generated shortcode equivalent of the configuration that you want to switch to. Please note that leaving\u003Cbr \u002F>\nthis empty will \u003Cstrong>not\u003C\u002Fstrong> prevent the Alternative kicking in if the conditions are set and met! An empty \u003Ccode>switch to\u003C\u002Fcode> will merely default\u003Cbr \u002F>\nto the CMW’s base settings (Level 1, unlimited Depth). Also note that Alternatives cannot be nested : a primary configuration is\u003Cbr \u002F>\nallowed one chance to switch and that’s it, so providing an Alternative-that-has-an-Alternative will not work.\u003C\u002Fp>\n\u003Cp>The Assist \u003Cem>will work\u003C\u002Fem> with an Alternative – in that it displays the appropriate output – but it can get confusing as to which\u003Cbr \u002F>\nconfiguration set is being used. There is a message displayed whenever the Alternative kicks in (green if successful, red if it\u003Cbr \u002F>\nshould have kicked in but couldn’t due to an error in the alternative settings) so please take note of it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>A bit more information about the \u003Cstrong>Alternative\u003C\u002Fstrong> is available\u003Cbr \u002F>\nin \u003Ca href=\"http:\u002F\u002Fwww.wizzud.com\u002F2014\u002F10\u002F03\u002Fcustom-menu-wizard-wordpress-plugin-version-3-1\u002F\" rel=\"nofollow ugc\">this article\u003C\u002Fa>.\u003C\u002Fp>\n","Show branches or levels of your menu in a widget, or in content using a shortcode, with full customisation.",3000,263532,94,49,"2018-04-02T12:35:00.000Z","4.9.29","3.9","5.4",[135,91,20,136,21],"custom-menu","partial-menu","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-menu-wizard\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-menu-wizard.3.3.1.zip",{"attackSurface":140,"codeSignals":151,"taintFlows":171,"riskAssessment":172,"analyzedAt":183},{"hooks":141,"ajaxHandlers":147,"restRoutes":148,"shortcodes":149,"cronEvents":150,"entryPointCount":13,"unprotectedCount":13},[142],{"type":143,"name":144,"callback":145,"file":146,"line":25},"action","widgets_init","_msw_init","my-sites-widget.php",[],[],[],[],{"dangerousFunctions":152,"sqlUsage":153,"outputEscaping":155,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":170},[],{"prepared":13,"raw":13,"locations":154},[],{"escaped":156,"rawEcho":157,"locations":158},3,6,[159,162,164,166,168,169],{"file":146,"line":160,"context":161},45,"raw output",{"file":146,"line":163,"context":161},47,{"file":146,"line":165,"context":161},51,{"file":146,"line":167,"context":161},71,{"file":146,"line":167,"context":161},{"file":146,"line":167,"context":161},[],[],{"summary":173,"deductions":174},"The 'my-sites-widget' plugin v1.0 exhibits a generally positive security posture based on the provided static analysis. The absence of any detected AJAX handlers, REST API routes, shortcodes, or cron events significantly limits its attack surface. Furthermore, the code demonstrates good practices regarding SQL queries, with 100% utilizing prepared statements, and a complete lack of dangerous functions or file operations.  This suggests a solid foundation in secure coding principles for these areas.\n\nHowever, a notable concern arises from the output escaping. With only 33% of the total outputs properly escaped, there's a significant risk of Cross-Site Scripting (XSS) vulnerabilities. Any user-supplied data displayed without proper sanitization could be exploited. The lack of nonce checks and capability checks, while potentially mitigated by the limited attack surface, represents a missed opportunity for robust authentication and authorization, especially if new entry points were introduced in future versions or if the limited scope changes. The vulnerability history is clean, indicating a lack of previously exploited weaknesses, which is a strong positive. Overall, the plugin is strong in its limited scope and SQL handling, but the unescaped output is a critical area needing immediate attention.",[175,178,181],{"reason":176,"points":177},"Low percentage of properly escaped output",8,{"reason":179,"points":180},"Missing nonce checks",5,{"reason":182,"points":180},"Missing capability checks","2026-03-17T01:27:16.327Z",{"wat":185,"direct":190},{"assetPaths":186,"generatorPatterns":187,"scriptPaths":188,"versionParams":189},[],[],[],[],{"cssClasses":191,"htmlComments":193,"htmlAttributes":194,"restEndpoints":195,"jsGlobals":196,"shortcodeOutput":197},[192],"widget_other_sites",[],[],[],[],[]]