[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fSySWvC57tBns1ZilR4mt_nw1PSG0b18vrIGeubdYArE":3,"$fJSEvMcq3X8Uw9hVRRHnfCIk7_XwIv7deG-R17qDY2E8":533,"$fki38GPMY8AcSZJ3ZZCjJkltISHnJIZmZQd1bLENAddE":538},{"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":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":37,"analysis":130,"fingerprints":500},"page-category-and-archive-menu","Page Category & Archive Menu","1.0.0","aueda","https:\u002F\u002Fprofiles.wordpress.org\u002Faueda\u002F","\u003Cp>You can embed page, category, and archive menu in your Wordperss site. You can get documentation and view demos from following site:\u003Cbr \u002F>\nhttp:\u002F\u002Ftempspace.net\u002Fplugins\u002F?page_id=33\u003C\u002Fp>\n\u003Cp>If you are annoyed with consumption of large amount of window space by page, category, and archive list, this plugin will be useful.\u003C\u002Fp>\n\u003Cp>When the bottom of the menu seems to be out of the window, the menu is “multi-columnized” automatically. Also, when the right side of the menu seems to be out of the window, the horizontal position of the menu is\u003Cbr \u002F>\nautomatically adjusted.\u003C\u002Fp>\n\u003Cp>You can change font-size, color, spacing in the admin page easily.\u003C\u002Fp>\n","You can embed page, category, and archive menu in your Wordperss site. You can get documentation and view demos from following site:",10,2360,0,"2011-10-03T03:49:00.000Z","3.2.1","3.2.0","",[19,20,21,22,23],"categories","category","menu","page","pages","http:\u002F\u002Ftempspace.net\u002Fplugins\u002F?page_id=33","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-category-and-archive-menu.zip",85,null,"2026-04-06T09:54:40.288Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},3,250,30,84,"2026-05-19T23:30:18.512Z",[38,58,81,99,118],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":32,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":17,"tags":52,"homepage":55,"download_link":56,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"category-for-pages","Category For Pages","1.0","A. H. M. Anawar Parvez","https:\u002F\u002Fprofiles.wordpress.org\u002Fparvezbrta\u002F","\u003Cp>Adds categories and tags functionality for your pages.\u003C\u002Fp>\n\u003Cp>This plugin addsthe ‘post_tag’ and the ‘category’ taxonomies, which are the names of the existing taxonomies used for tags and categories the Post type ‘page’.\u003C\u002Fp>\n\u003Cp>This enables the categories metabox and the tags metabox in the New or Edit Page interface.\u003C\u002Fp>\n\u003Cp>The plugin has no settings, does not alter the database and only uses hooks to\u003Cbr \u002F>\nachieve it’s goal. It works perfectly fine with Multisite installations.\u003C\u002Fp>\n\u003Cp>This plugin WILL NOT add any display of categories or tags to your template files.\u003C\u002Fp>\n\u003Cp>Plugin’s Detail: \u003Ca href=\"http:\u002F\u002Fwww.radeet.com\u002Fen\u002Fcategory\u002Fdownloads\u002Fwordpress-plugins\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fwww.radeet.com\u002Fen\u002Fcategory\u002Fdownloads\u002Fwordpress-plugins\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Our website: \u003Ca href=\"http:\u002F\u002Fwww.radeet.com\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fwww.radeet.com\u002F\u003C\u002Fa>\u003C\u002Fp>\n","Adds categories and tags functionality for your pages.",200,4421,74,"2017-02-19T16:11:00.000Z","4.7.33","3.0",[19,20,23,53,54],"tag","tags","http:\u002F\u002Fwww.radeet.com\u002Fwordpress\u002Fdownloads\u002Fplugins\u002Fcategory_for_pages.zip","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcategory-for-pages.zip","2026-04-16T10:56:18.058Z",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":13,"num_ratings":13,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":71,"tags":72,"homepage":78,"download_link":79,"security_score":80,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"page-categories-tags","Page Category and Tag – Add Categories and Tags to WordPress Pages","1.1.0","iSmart Web Service","https:\u002F\u002Fprofiles.wordpress.org\u002Fgodswillinnovations\u002F","\u003Ch4>Page Category and Tag – Add Categories and Tags to WordPress Pages\u003C\u002Fh4>\n\u003Cp>By default, WordPress allows categories and tags only for posts. This plugin enables \u003Cstrong>categories for pages\u003C\u002Fstrong> and \u003Cstrong>tags for pages\u003C\u002Fstrong>, allowing you to organize your WordPress pages just like posts.\u003C\u002Fp>\n\u003Cp>If you are searching for a simple way to:\u003C\u002Fp>\n\u003Cp>✔ Add categories to pages\u003Cbr \u002F>\n✔ Add tags to pages\u003Cbr \u002F>\n✔ Enable page category in WordPress\u003Cbr \u002F>\n✔ Enable page tag in WordPress\u003Cbr \u002F>\n✔ Organize pages using taxonomy\u003Cbr \u002F>\n✔ Improve internal linking structure\u003C\u002Fp>\n\u003Cp>Then this lightweight plugin is the perfect solution.\u003C\u002Fp>\n\u003Cp>After activation, the default WordPress \u003Cstrong>Category\u003C\u002Fstrong> and \u003Cstrong>Tag\u003C\u002Fstrong> taxonomies become available for Pages. You can assign, manage, and filter pages by category or tag directly from the dashboard.\u003C\u002Fp>\n\u003Cp>No complex settings. No unnecessary features. Just activate and use.\u003C\u002Fp>\n\u003Ch3>Why Use Page Category and Tag Plugin?\u003C\u002Fh3>\n\u003Cp>Many websites need better content organization beyond blog posts. With page category and page tag support, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create structured service pages\u003C\u002Fli>\n\u003Cli>Group landing pages by category\u003C\u002Fli>\n\u003Cli>Filter pages by tag\u003C\u002Fli>\n\u003Cli>Improve SEO architecture\u003C\u002Fli>\n\u003Cli>Build better navigation systems\u003C\u002Fli>\n\u003Cli>Improve user experience\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin integrates seamlessly with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Gutenberg (Block Editor)\u003C\u002Fli>\n\u003Cli>Classic Editor\u003C\u002Fli>\n\u003Cli>WordPress REST API\u003C\u002Fli>\n\u003Cli>Custom page templates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Enable Category for Pages\u003C\u002Fli>\n\u003Cli>Enable Tag for Pages\u003C\u002Fli>\n\u003Cli>Assign categories to pages\u003C\u002Fli>\n\u003Cli>Assign tags to pages\u003C\u002Fli>\n\u003Cli>Filter pages by category\u003C\u002Fli>\n\u003Cli>Filter pages by tag\u003C\u002Fli>\n\u003Cli>Lightweight and fast\u003C\u002Fli>\n\u003Cli>No configuration required\u003C\u002Fli>\n\u003Cli>Works with any theme\u003C\u002Fli>\n\u003Cli>SEO-friendly structure\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Perfect For\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Business websites\u003C\u002Fli>\n\u003Cli>Corporate websites\u003C\u002Fli>\n\u003Cli>Service-based websites\u003C\u002Fli>\n\u003Cli>Directory websites\u003C\u002Fli>\n\u003Cli>Educational websites\u003C\u002Fli>\n\u003Cli>Large content platforms\u003C\u002Fli>\n\u003Cli>SEO-focused websites\u003C\u002Fli>\n\u003C\u002Ful>\n","Add categories and tags to WordPress pages. Enable page category and page tag support easily.",50,636,"2026-02-23T14:07:00.000Z","6.9.4","5.0","7.0",[73,74,75,76,77],"add-category-to-page","add-tag-to-page","categories-for-pages","page-category","page-tag","https:\u002F\u002Fismartwebservice.com\u002Fwordpress-essential-plugins\u002Fpage-categories-tags","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpage-categories-tags.zip",100,{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":13,"num_ratings":13,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":17,"tags":94,"homepage":97,"download_link":98,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"category-page-extender","Category Page Extender","1.0.3","grpsmglr00","https:\u002F\u002Fprofiles.wordpress.org\u002Fgrpsmglr00\u002F","\u003Cp>This plugin builds on the Category Page plugin making it possible to automatically insert posts into pages and subpages based on categories.  You must have a current version of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fpage2cat\u002F\" rel=\"ugc\">Category Page\u003C\u002Fa> installed in order to function.\u003Cbr \u002F>\n.\u003Cbr \u002F>\nVisit plugin page \u003Ca href=\"http:\u002F\u002Fcategorypageextender.wordpress.com\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>To view complete instructions \u003Ca href=\"http:\u002F\u002Fcategorypageextender.wordpress.com\" rel=\"nofollow ugc\">read here\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Open up page.php in your template folder (you may also set up a seperate a Page Template)\u003C\u002Fp>\n\u003Cp>For the most basic setup, insert the following below the loop statement in the page.php file:\u003C\u002Fp>\n\u003Cpre>\u003C?php if( function_exists(page2cat_pages)){ page2cat_pages($post->ID);} ?>\u003C\u002Fpre>\n\u003C\u002Fp>\n\u003Cp>I recommend you wrap the function in your standard post class.  For example:\u003C\u002Fp>\n\u003Cpre>\u003Cdiv class=\"post\">\n\u003C?php if( function_exists(page2cat_pages)){ page2cat_pages($post->ID);} ?>\n\u003C\u002Fdiv>\u003C\u002Fpre>\n\u003C\u002Fp>\n\u003Cp>Plugin Options\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php if( function_exists(page2cat_pages)){ page2cat_pages($post->ID, posts per page, number of pages);} ?>\u003Cbr \u002F>\u003Cbr \u002F>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Posts per page: (default = 10) set to 0 to show all\u003Cbr \u002F>\nThis sets the number of posts to show at one time on the page.\u003C\u002Fp>\n\u003Cp>Number of pages: (default = 15) set to 0 to show all\u003Cbr \u002F>\nThis tells how many page numbers to show at a time on the page navigation bar.\u003C\u002Fp>\n\u003Cp>Example of Category Page Extender with variables:\u003C\u002Fp>\n\u003Cpre>\u003C?php if( function_exists(page2cat_pages)){ page2cat_pages($post->ID, 5, 10);} ?>\u003C\u002Fpre>\n\u003Cp>This will list 5 posts and up to 10 page numbers at a time on the page navigation bar.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fcategorypageextender.wordpress.com\u002F\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa>\u003C\u002Fp>\n","Inserts posts into pages corresponding to category.  Add on plugin for Category Page by pixline.net. Requieres an active installation of Category Page &hellip;",40,10676,"2009-12-31T13:44:00.000Z","2.8.4","2.2",[95,19,20,96,23],"admin","formatting","http:\u002F\u002Fcategorypageextender.wordpress.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcategory-page-extender.1.0.3.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":80,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":17,"tags":113,"homepage":116,"download_link":117,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"sf-category-menu","SF Category Menu","1.5","Studiofreya","https:\u002F\u002Fprofiles.wordpress.org\u002Fstudiofreya\u002F","\u003Cp>Plugin is based on jQuery Treeview Plugin and gives an easy Treeview Menu for WordPress categories. It will display the current page or category and all child pages.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fstudiofreya.com\u002Fwordpress\u002Fsf-category-menu\u002Fchangelog\u002F\" rel=\"nofollow ugc\">Plugin website\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Choose from 5 different styles \u003C\u002Fli>\n\u003Cli>Exclude categories\u003C\u002Fli>\n\u003Cli>Translation ready\u003C\u002Fli>\n\u003Cli>Doesn’t show empty categories\u003C\u002Fli>\n\u003Cli>Shortcode to list categories with thumbnails\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Live demo:\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsftextures.com\" rel=\"nofollow ugc\">Photo website\u003C\u002Fa>\u003C\u002Fp>\n","Easy treeview menu for WordPress categories.",20,3354,1,"2018-05-16T17:52:00.000Z","4.9.29","3.8",[19,114,21,23,115],"child","posts","https:\u002F\u002Fstudiofreya.com\u002Fsf-category-menu\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsf-category-menu.zip",{"slug":119,"name":120,"version":6,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":11,"downloaded":125,"rating":13,"num_ratings":13,"last_updated":126,"tested_up_to":127,"requires_at_least":51,"requires_php":17,"tags":128,"homepage":17,"download_link":129,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":57},"categorize-pages","Categorize Pages","BjornW","https:\u002F\u002Fprofiles.wordpress.org\u002Fbjornw\u002F","\u003Cp>Categorize a Page just as you would do with a Post.\u003C\u002Fp>\n\u003Cp>This plugin adds the ‘categories’ taxonomy to the Page post type.\u003Cbr \u002F>\nThis enables the tags metabox in the New or Edit Page interface. To show tagged\u003Cbr \u002F>\nPages on a category archive page or in a feed, it uses the ‘pre_get_posts’ hook\u003Cbr \u002F>\nto change the post_type query parameter to ‘post’ AND ‘page’.\u003C\u002Fp>\n\u003Cp>The plugin has no settings, does not alter the database and only uses hooks to\u003Cbr \u002F>\nachieve it’s goal. It also should work perfectly fine with Multisite installations.\u003C\u002Fp>\n\u003Cp>If this plugin meets your expectations and you use it commercially\u003Cbr \u002F>\nplease consider a donation to one of these organisations or your country’s equivalents:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href='https:\u002F\u002Fwww.msf.org\u002F' rel=\"nofollow ugc\">Medicines Sans Frontiers\u003C\u002Fa> \u003C\u002Fli>\n\u003Cli>\u003Ca href='https:\u002F\u002Ffsfe.org' rel=\"nofollow ugc\">Free Software Foundation Europe\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href='https:\u002F\u002Fhttps:\u002F\u002Fwww.bitsoffreedom.nl\u002Fenglish\u002F' rel=\"nofollow ugc\">Bits of Freedom\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href='https:\u002F\u002Fedri.org\u002F' rel=\"nofollow ugc\">European Digital Rights (EDRi)\u003C\u002Fa> \u003C\u002Fli>\n\u003Cli>\u003Ca href='https:\u002F\u002Ffsf.org' rel=\"nofollow ugc\">Free Software Foundation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href='https:\u002F\u002Feff.org' rel=\"nofollow ugc\">Electronic Frontier Foundation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Notes\u003C\u002Fh3>\n\u003Cp>Credits:\u003C\u002Fp>\n\u003Cp>To collect icon used in the WordPress plugin repository and found in \u002Fassets\u002Ficon*\u003Cbr \u002F>\nFrom the series \u003Ca href=\"http:\u002F\u002Fwww.toicon.com\u002Fseries\u002Fopen\" rel=\"nofollow ugc\">‘Open’\u003C\u002Fa> By \u003Ca href=\"http:\u002F\u002Fwww.toicon.com\u002Fauthors\u002Fariane\" rel=\"nofollow ugc\">Ariane Garoff\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>licensed under a Creative Commons Attribution 4.0 International License.\u003Cbr \u002F>\nThis means you are free to use these icons as you would like, but must provide attribution and, at minimum, a link to http:\u002F\u002Fwww.toicon.com\u002F.\u003Cbr \u002F>\nPlease review the legal code reachable at http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F if you have any questions.\u003Cbr \u002F>\nPermissions beyond the scope of this license may be available. Contact The Artificial at info@theartificial.nl to request details.\u003C\u002Fp>\n\u003Cp>Thanks Ariane Garoff and to[icon] for sharing your work!\u003C\u002Fp>\n\u003Cp>WordPress repository header image found in \u002Fassets:\u003Cbr \u002F>\nCut out from \u003Ca href=\"https:\u002F\u002Fwww.flickr.com\u002Fphotos\u002Flselibrary\u002F3925726691\u002F\" rel=\"nofollow ugc\">‘Collecting books for readers in the reserve stacks, 1964’\u003C\u002Fa>\u003Cbr \u002F>\nPhotograph during the making of a BBC documentary.\u003Cbr \u002F>\nRepository: LSE Library\u003C\u002Fp>\n\u003Cp>Thanks LSE Library& Flickr Commons – flickr.com\u002Fcommons\u003C\u002Fp>\n","Categorize Pages, just as you would do with Posts",1008,"2022-07-02T10:13:00.000Z","6.0.11",[19,119,20,22,23],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcategorize-pages.1.0.0.zip",{"attackSurface":131,"codeSignals":167,"taintFlows":286,"riskAssessment":486,"analyzedAt":499},{"hooks":132,"ajaxHandlers":151,"restRoutes":152,"shortcodes":153,"cronEvents":166,"entryPointCount":32,"unprotectedCount":13},[133,139,143,147],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","init","pgcatmenu_init","page_category_menu.php",17,{"type":134,"name":140,"callback":141,"file":137,"line":142},"wp_head","pgcatmenu_header_filter",21,{"type":134,"name":144,"callback":145,"file":137,"line":146},"admin_menu","pgcatmenu_plugin_menu",216,{"type":134,"name":148,"callback":149,"file":137,"line":150},"admin_head","pgcatmenu_admin_head",409,[],[],[154,158,162],{"tag":155,"callback":156,"file":137,"line":157},"page_link_menu","pgcatmenu_pg_shortcode",192,{"tag":159,"callback":160,"file":137,"line":161},"category_link_menu","pgcatmenu_cat_shortcode",202,{"tag":163,"callback":164,"file":137,"line":165},"archive_link_menu","pgcatmenu_arc_shortcode",212,[],{"dangerousFunctions":168,"sqlUsage":169,"outputEscaping":171,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":285},[],{"prepared":109,"raw":13,"locations":170},[],{"escaped":13,"rawEcho":172,"locations":173},56,[174,177,179,180,182,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283],{"file":137,"line":175,"context":176},34,"raw output",{"file":137,"line":178,"context":176},35,{"file":137,"line":66,"context":176},{"file":137,"line":181,"context":176},63,{"file":137,"line":35,"context":176},{"file":137,"line":184,"context":176},91,{"file":137,"line":186,"context":176},94,{"file":137,"line":188,"context":176},97,{"file":137,"line":190,"context":176},98,{"file":137,"line":192,"context":176},99,{"file":137,"line":194,"context":176},106,{"file":137,"line":196,"context":176},109,{"file":137,"line":198,"context":176},112,{"file":137,"line":200,"context":176},113,{"file":137,"line":202,"context":176},114,{"file":137,"line":204,"context":176},121,{"file":137,"line":206,"context":176},124,{"file":137,"line":208,"context":176},127,{"file":137,"line":210,"context":176},128,{"file":137,"line":212,"context":176},129,{"file":137,"line":214,"context":176},136,{"file":137,"line":216,"context":176},138,{"file":137,"line":218,"context":176},140,{"file":137,"line":220,"context":176},142,{"file":137,"line":222,"context":176},143,{"file":137,"line":224,"context":176},145,{"file":137,"line":226,"context":176},147,{"file":137,"line":228,"context":176},149,{"file":137,"line":230,"context":176},150,{"file":137,"line":232,"context":176},151,{"file":137,"line":234,"context":176},152,{"file":137,"line":236,"context":176},157,{"file":137,"line":238,"context":176},158,{"file":137,"line":240,"context":176},159,{"file":137,"line":242,"context":176},240,{"file":137,"line":244,"context":176},246,{"file":137,"line":246,"context":176},297,{"file":137,"line":248,"context":176},320,{"file":137,"line":250,"context":176},324,{"file":137,"line":252,"context":176},328,{"file":137,"line":254,"context":176},332,{"file":137,"line":256,"context":176},336,{"file":137,"line":258,"context":176},340,{"file":137,"line":260,"context":176},344,{"file":137,"line":262,"context":176},348,{"file":137,"line":264,"context":176},352,{"file":137,"line":266,"context":176},356,{"file":137,"line":268,"context":176},360,{"file":137,"line":270,"context":176},364,{"file":137,"line":272,"context":176},368,{"file":137,"line":274,"context":176},372,{"file":137,"line":276,"context":176},376,{"file":137,"line":278,"context":176},380,{"file":137,"line":280,"context":176},384,{"file":137,"line":282,"context":176},406,{"file":137,"line":284,"context":176},407,[],[287,426],{"entryPoint":288,"graph":289,"unsanitizedCount":424,"severity":425},"pgcatmenu_magic_function (page_category_menu.php:265)",{"nodes":290,"edges":404},[291,296,301,305,307,311,313,317,319,323,325,329,331,335,337,341,343,347,349,353,355,359,361,365,367,371,373,377,379,383,385,389,391,395,397,400],{"id":292,"type":293,"label":294,"file":137,"line":295},"n0","source","$_POST['pgcatmenu_pagelink_id']",270,{"id":297,"type":298,"label":299,"file":137,"line":295,"wp_function":300},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":302,"type":293,"label":303,"file":137,"line":304},"n2","$_POST['pgcatmenu_catlink_id']",271,{"id":306,"type":298,"label":299,"file":137,"line":304,"wp_function":300},"n3",{"id":308,"type":293,"label":309,"file":137,"line":310},"n4","$_POST['pgcatmenu_arclink_id']",272,{"id":312,"type":298,"label":299,"file":137,"line":310,"wp_function":300},"n5",{"id":314,"type":293,"label":315,"file":137,"line":316},"n6","$_POST['pgcatmenu_pagelist_id']",273,{"id":318,"type":298,"label":299,"file":137,"line":316,"wp_function":300},"n7",{"id":320,"type":293,"label":321,"file":137,"line":322},"n8","$_POST['pgcatmenu_categorylist_id']",274,{"id":324,"type":298,"label":299,"file":137,"line":322,"wp_function":300},"n9",{"id":326,"type":293,"label":327,"file":137,"line":328},"n10","$_POST['pgcatmenu_archivelist_id']",275,{"id":330,"type":298,"label":299,"file":137,"line":328,"wp_function":300},"n11",{"id":332,"type":293,"label":333,"file":137,"line":334},"n12","$_POST['pgcatmenu_font_size']",276,{"id":336,"type":298,"label":299,"file":137,"line":334,"wp_function":300},"n13",{"id":338,"type":293,"label":339,"file":137,"line":340},"n14","$_POST['pgcatmenu_line_spacing']",277,{"id":342,"type":298,"label":299,"file":137,"line":340,"wp_function":300},"n15",{"id":344,"type":293,"label":345,"file":137,"line":346},"n16","$_POST['pgcatmenu_border_size']",278,{"id":348,"type":298,"label":299,"file":137,"line":346,"wp_function":300},"n17",{"id":350,"type":293,"label":351,"file":137,"line":352},"n18","$_POST['pgcatmenu_border_color']",279,{"id":354,"type":298,"label":299,"file":137,"line":352,"wp_function":300},"n19",{"id":356,"type":293,"label":357,"file":137,"line":358},"n20","$_POST['pgcatmenu_padding_size_x']",280,{"id":360,"type":298,"label":299,"file":137,"line":358,"wp_function":300},"n21",{"id":362,"type":293,"label":363,"file":137,"line":364},"n22","$_POST['pgcatmenu_padding_size_y']",281,{"id":366,"type":298,"label":299,"file":137,"line":364,"wp_function":300},"n23",{"id":368,"type":293,"label":369,"file":137,"line":370},"n24","$_POST['pgcatmenu_padding_size_c']",282,{"id":372,"type":298,"label":299,"file":137,"line":370,"wp_function":300},"n25",{"id":374,"type":293,"label":375,"file":137,"line":376},"n26","$_POST['pgcatmenu_background_color']",283,{"id":378,"type":298,"label":299,"file":137,"line":376,"wp_function":300},"n27",{"id":380,"type":293,"label":381,"file":137,"line":382},"n28","$_POST['pgcatmenu_menulink_color']",284,{"id":384,"type":298,"label":299,"file":137,"line":382,"wp_function":300},"n29",{"id":386,"type":293,"label":387,"file":137,"line":388},"n30","$_POST['pgcatmenu_menulink_color_v']",285,{"id":390,"type":298,"label":299,"file":137,"line":388,"wp_function":300},"n31",{"id":392,"type":293,"label":393,"file":137,"line":394},"n32","$_POST['pgcatmenu_menulink_color_h']",286,{"id":396,"type":298,"label":299,"file":137,"line":394,"wp_function":300},"n33",{"id":398,"type":293,"label":399,"file":137,"line":246},"n34","$_SERVER['REQUEST_URI']",{"id":401,"type":298,"label":402,"file":137,"line":246,"wp_function":403},"n35","echo() [XSS]","echo",[405,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423],{"from":292,"to":297,"sanitized":406},false,{"from":302,"to":306,"sanitized":406},{"from":308,"to":312,"sanitized":406},{"from":314,"to":318,"sanitized":406},{"from":320,"to":324,"sanitized":406},{"from":326,"to":330,"sanitized":406},{"from":332,"to":336,"sanitized":406},{"from":338,"to":342,"sanitized":406},{"from":344,"to":348,"sanitized":406},{"from":350,"to":354,"sanitized":406},{"from":356,"to":360,"sanitized":406},{"from":362,"to":366,"sanitized":406},{"from":368,"to":372,"sanitized":406},{"from":374,"to":378,"sanitized":406},{"from":380,"to":384,"sanitized":406},{"from":386,"to":390,"sanitized":406},{"from":392,"to":396,"sanitized":406},{"from":398,"to":401,"sanitized":406},18,"medium",{"entryPoint":427,"graph":428,"unsanitizedCount":424,"severity":485},"\u003Cpage_category_menu> (page_category_menu.php:0)",{"nodes":429,"edges":466},[430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465],{"id":292,"type":293,"label":294,"file":137,"line":295},{"id":297,"type":298,"label":299,"file":137,"line":295,"wp_function":300},{"id":302,"type":293,"label":303,"file":137,"line":304},{"id":306,"type":298,"label":299,"file":137,"line":304,"wp_function":300},{"id":308,"type":293,"label":309,"file":137,"line":310},{"id":312,"type":298,"label":299,"file":137,"line":310,"wp_function":300},{"id":314,"type":293,"label":315,"file":137,"line":316},{"id":318,"type":298,"label":299,"file":137,"line":316,"wp_function":300},{"id":320,"type":293,"label":321,"file":137,"line":322},{"id":324,"type":298,"label":299,"file":137,"line":322,"wp_function":300},{"id":326,"type":293,"label":327,"file":137,"line":328},{"id":330,"type":298,"label":299,"file":137,"line":328,"wp_function":300},{"id":332,"type":293,"label":333,"file":137,"line":334},{"id":336,"type":298,"label":299,"file":137,"line":334,"wp_function":300},{"id":338,"type":293,"label":339,"file":137,"line":340},{"id":342,"type":298,"label":299,"file":137,"line":340,"wp_function":300},{"id":344,"type":293,"label":345,"file":137,"line":346},{"id":348,"type":298,"label":299,"file":137,"line":346,"wp_function":300},{"id":350,"type":293,"label":351,"file":137,"line":352},{"id":354,"type":298,"label":299,"file":137,"line":352,"wp_function":300},{"id":356,"type":293,"label":357,"file":137,"line":358},{"id":360,"type":298,"label":299,"file":137,"line":358,"wp_function":300},{"id":362,"type":293,"label":363,"file":137,"line":364},{"id":366,"type":298,"label":299,"file":137,"line":364,"wp_function":300},{"id":368,"type":293,"label":369,"file":137,"line":370},{"id":372,"type":298,"label":299,"file":137,"line":370,"wp_function":300},{"id":374,"type":293,"label":375,"file":137,"line":376},{"id":378,"type":298,"label":299,"file":137,"line":376,"wp_function":300},{"id":380,"type":293,"label":381,"file":137,"line":382},{"id":384,"type":298,"label":299,"file":137,"line":382,"wp_function":300},{"id":386,"type":293,"label":387,"file":137,"line":388},{"id":390,"type":298,"label":299,"file":137,"line":388,"wp_function":300},{"id":392,"type":293,"label":393,"file":137,"line":394},{"id":396,"type":298,"label":299,"file":137,"line":394,"wp_function":300},{"id":398,"type":293,"label":399,"file":137,"line":246},{"id":401,"type":298,"label":402,"file":137,"line":246,"wp_function":403},[467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484],{"from":292,"to":297,"sanitized":406},{"from":302,"to":306,"sanitized":406},{"from":308,"to":312,"sanitized":406},{"from":314,"to":318,"sanitized":406},{"from":320,"to":324,"sanitized":406},{"from":326,"to":330,"sanitized":406},{"from":332,"to":336,"sanitized":406},{"from":338,"to":342,"sanitized":406},{"from":344,"to":348,"sanitized":406},{"from":350,"to":354,"sanitized":406},{"from":356,"to":360,"sanitized":406},{"from":362,"to":366,"sanitized":406},{"from":368,"to":372,"sanitized":406},{"from":374,"to":378,"sanitized":406},{"from":380,"to":384,"sanitized":406},{"from":386,"to":390,"sanitized":406},{"from":392,"to":396,"sanitized":406},{"from":398,"to":401,"sanitized":406},"low",{"summary":487,"deductions":488},"The \"page-category-and-archive-menu\" plugin version 1.0.0 exhibits a mixed security posture. On the positive side, it demonstrates excellent practices regarding SQL queries by exclusively using prepared statements and has no recorded vulnerability history, suggesting a history of secure development or minimal exposure.  It also avoids dangerous functions, file operations, and external HTTP requests, further contributing to a secure baseline.\n\nHowever, significant concerns arise from the static analysis. The lack of any output escaping for all 56 identified outputs is a critical weakness, potentially leading to Cross-Site Scripting (XSS) vulnerabilities. Additionally, the taint analysis reveals two flows with unsanitized paths, which, while not currently classified as critical or high severity, indicate potential for malicious data to be processed without proper sanitization. The absence of nonce checks and capability checks on its entry points, despite having a limited attack surface of 3 shortcodes, is also a notable omission that could be exploited if these shortcodes are sensitive or handle user-controllable data.\n\nIn conclusion, while the plugin's SQL handling and vulnerability history are commendable, the pervasive lack of output escaping and the presence of unsanitized taint flows represent significant security risks that require immediate attention. The absence of capability checks on its shortcodes further adds to the potential for insecure operation. Addressing these issues would substantially improve the plugin's overall security.",[489,491,494,497],{"reason":490,"points":107},"All outputs are unescaped (XSS risk)",{"reason":492,"points":493},"Taint flows with unsanitized paths detected",15,{"reason":495,"points":496},"Missing nonce checks on entry points",5,{"reason":498,"points":496},"Missing capability checks on entry points","2026-03-17T00:36:36.127Z",{"wat":501,"direct":509},{"assetPaths":502,"generatorPatterns":505,"scriptPaths":506,"versionParams":507},[503,504],"\u002Fwp-content\u002Fplugins\u002Fpage-category-and-archive-menu\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fpage-category-and-archive-menu\u002Flinkmenu.js",[],[504],[508],"page-category-and-archive-menu\u002Fstyle.css?ver=",{"cssClasses":510,"htmlComments":513,"htmlAttributes":514,"restEndpoints":515,"jsGlobals":516,"shortcodeOutput":531},[511,512],"pgcatmenu","pgcatmenu_list",[],[],[],[517,518,519,520,521,522,523,524,525,526,527,528,529,530],"orcp_page_data_json","orcp_cats_data_json","orcp_arcvs_data_json","pgcatmenu_font_size","pgcatmenu_line_spacing","pgcatmenu_border_size","pgcatmenu_border_color","pgcatmenu_padding_size_x","pgcatmenu_padding_size_y","pgcatmenu_padding_size_c","pgcatmenu_background_color","pgcatmenu_menulink_color","pgcatmenu_menulink_color_v","pgcatmenu_menulink_color_h",[532],"\u003Cul class=\"pgcatmenu_list\">",{"error":534,"url":535,"statusCode":536,"statusMessage":537,"message":537},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fpage-category-and-archive-menu\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":13,"versions":539},[]]