[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJwWPeLYdJLSVb65cxzfP25TXrHMYHdgCTxf70i86AQI":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":9,"tags":17,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":35,"analysis":139,"fingerprints":382},"paged-comments","Paged Comments","2.9.1 (2008-12-23)","keyvan","https:\u002F\u002Fprofiles.wordpress.org\u002Fkeyvan\u002F","","Paged Comments enables comment paging. Useful for those popular blog entries receiving many comments, or a simple guestbook page within WordPress.",100,24668,0,"2008-12-24T02:07:00.000Z","2.7","2.3.1",[18,19,4,20,21],"comments","paged","paginate","split","http:\u002F\u002Fwww.keyvan.net\u002Fcode\u002Fpaged-comments\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpaged-comments.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":31,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},2,150,93,30,89,"2026-04-04T14:08:40.153Z",[36,53,76,96,114],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":13,"num_ratings":13,"last_updated":9,"tested_up_to":46,"requires_at_least":9,"requires_php":9,"tags":47,"homepage":50,"download_link":51,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":52},"paginated-comments","Paginated Comments","1.0.6","spiderbiteman","https:\u002F\u002Fprofiles.wordpress.org\u002Fspiderbiteman\u002F","\u003Cp>Paginated Comments is a WordPress Plugin ** developed with SEO in mind ** that gives you the ability to break your comments into a number of search engine optimized pages.\u003C\u002Fp>\n\u003Cp>You can create pages based on size of comments (so that no page of comments is greater than a certain file size) or you can create pages based on number of comments per page (100 for example).\u003C\u002Fp>\n\u003Cp>Some features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Titles for each page of comments.\u003C\u002Fli>\n\u003Cli>Description and Keywords for each pages of comments.\u003C\u002Fli>\n\u003Cli>Paginate by size of all comments.\u003C\u002Fli>\n\u003Cli>Paginate by a number of comments.\u003C\u002Fli>\n\u003Cli>Personalize your Pretty Permalinks URI’s.\u003C\u002Fli>\n\u003Cli>Control page of comments post content.\u003C\u002Fli>\n\u003Cli>Handle this and more features within your WordPress Dashboard with a easily menu.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>You can find support at the \u003Ca href=\"http:\u002F\u002Fwww.badspiderbites.com\u002Fpaginated-comments\u002F\" rel=\"nofollow ugc\">plugin homepage\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.badspiderbites.com\u002Fpaginated-comments\u002F\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin is a fork based on the paged comments plugin by [Keyvan Minoukadeh] (http:\u002F\u002Fwww.keyvan.net\u002Fcode\u002Fpaged-comments\u002F). Thanks to Gidibao at http:\u002F\u002Fgidibao.net\u002F for taking the time to translate this to Italian!\u003C\u002Fp>\n\u003Ch3>Examples\u003C\u002Fh3>\n\u003Cp>You can see this plugin in action at http:\u002F\u002Fwww.badbedbugs.com\u002F under the Bed Bug Bite section.\u003C\u002Fp>\n","Breaks down comments into a number of search engine optimized pages.",20,19332,"2.8.3",[18,48,4,37,49],"multiple-comments","split-comments","http:\u002F\u002Fwww.badspiderbites.com\u002Fpaginated-comments\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpaginated-comments.zip","2026-03-15T10:48:56.248Z",{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":11,"downloaded":61,"rating":62,"num_ratings":63,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":74,"download_link":75,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"jquery-post-splitter","jQuery Post Splitter","3.0.5","Fahad Mahmood","https:\u002F\u002Fprofiles.wordpress.org\u002Ffahadmahmood\u002F","\u003Cul>\n\u003Cli>\n\u003Cp>Author: \u003Ca href=\"https:\u002F\u002Fwww.androidbubbles.com\u002Fcontact\" rel=\"nofollow ugc\">Fahad Mahmood\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Project URI: \u003Ca href=\"http:\u002F\u002Fandroidbubble.com\u002Fblog\u002Fwordpress\u002Fplugins\u002Fjquery-post-splitter\" rel=\"nofollow ugc\">http:\u002F\u002Fandroidbubble.com\u002Fblog\u002Fwordpress\u002Fplugins\u002Fjquery-post-splitter\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>License: GPL 3. See License below for copyright jots and titles.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>jQuery Post Splitter is compatible with almost all themes and it can be implemented in 4 different ways from which you might will require one. For user friendliness, this plugin come up with a button “Split Page” and easy usage within the text editor. It is light weight and comparatively optimized so it will not interrupt your scripts uselessly.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Demo URI: \u003Ca href=\"http:\u002F\u002Fdemo.androidbubble.com\u002Fjquery-post-splitter-pro\" rel=\"nofollow ugc\">http:\u002F\u002Fdemo.androidbubble.com\u002Fjquery-post-splitter-pro\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Demo URI: \u003Ca href=\"http:\u002F\u002Fdemo.androidbubble.com\u002Fhow-it-works-jps\" rel=\"nofollow ugc\">http:\u002F\u002Fdemo.androidbubble.com\u002Fhow-it-works-jps\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Demo URI: \u003Ca href=\"http:\u002F\u002Fdemo.guavapattern.com\u002F?page_id=443\" rel=\"nofollow ugc\">http:\u002F\u002Fdemo.guavapattern.com\u002F?page_id=443\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Demo URI (Page Break Block): \u003Ca href=\"http:\u002F\u002Fdemo.guavapattern.com\u002F?page_id=447\" rel=\"nofollow ugc\">http:\u002F\u002Fdemo.guavapattern.com\u002F?page_id=447\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>WordPress has an excellent, but little known, \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FStyling_Page-Links\" rel=\"nofollow ugc\">feature\u003C\u002Fa> for splitting up long posts into multiple pages. However, a growing trend among major news and blog sites is instead to split up posts into dynamically loading sliders. While there are many slider plugins available for WordPress, none of them quite tackles this functionality. That’s where the jQuery Post Splitter comes in: it takes normal multi-page posts from WordPress and replaces them with jQuery transition, ajax and page-refresh methods.\u003C\u002Fp>\n\u003Ch4>Tags\u003C\u002Fh4>\n\u003Cp>slider, pagination, ajax, carousel, multi-page, newspaper\u003C\u002Fp>\n\u003Ch3>Video Tutorial\u003C\u002Fh3>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FC-ALIaOr7Zo?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Basic Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Posts and Pages can be divided into parts with page-breaks.\u003C\u002Fli>\n\u003Cli>View full post optional link\u003C\u002Fli>\n\u003Cli>Navigation captions can be edited\u003C\u002Fli>\n\u003Cli>Slides counter can be displayed\u003C\u002Fli>\n\u003Cli>Custom HTML and CSS can be added above and below post slides\u003C\u002Fli>\n\u003Cli>Scroll to top option is available for long posts\u003C\u002Fli>\n\u003Cli>Exceptional support on wordpress.org\u003C\u002Fli>\n\u003Cli>Slider navigation position\u003C\u002Fli>\n\u003Cli>Insert \u003Cbr \u002F> with each return key\u003C\u002Fli>\n\u003Cli>Slider count (e.g. “2 of 4”) position\u003C\u002Fli>\n\u003Cli>Scroll to top after slide load? (jQuery\u002FAjax)\u003C\u002Fli>\n\u003Cli>Clean \u003C!--nextpart—> \u002F nextpage--> tags from all posts\u002Fpages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Default post navigation, line numbers display as pagination\u003C\u002Fli>\n\u003Cli>JavaScript Function on Slide, on each next and previous button you can trigger multiple JS functions\u003C\u002Fli>\n\u003Cli>Beautiful Styles for Slider Navigation\u003C\u002Fli>\n\u003Cli>SEO Trick – Display full content on first page as hidden?\u003C\u002Fli>\n\u003Cli>Loop slides – Creates an infinite loop of the slides\u003C\u002Fli>\n\u003Cli>Editable navigation captions\u003C\u002Fli>\n\u003Cli>Disable theme’s default post navigation\u003C\u002Fli>\n\u003Cli>Display full content on first page as hidden\u003C\u002Fli>\n\u003Cli>Combine different pages\u002Fposts with shortcode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What the slider does:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Provides an awesome functionality to combine many posts\u002Fpages into one with the shortcodes. Example: [JPS_CHUNK id=”62″ type=”title”]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Replaces WordPress’ built-in post pagination funtionality with jQuery, ajax-based carousel and page-refresh method.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Uses hash based URLs for easy direct linking to specific slides. This also preserves the functionality of the browser’s Back button.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Automatically adds slide navigation and a slide counter (e.g. ‘1 of 7’) to sliders according to the preferences you set.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Adds the ‘Insert Page Break’ button to the TinyMCE post editor so that you can easily split your content into multiple pages\u002Fslides.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Provides an optional stylesheet for (very) basic styling of the slider navigation.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Optionally allows infinite looping of slides.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Optionally provides a link to view all slides on a single page.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Optionally allows for scrolling back to top when each slide loads.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin will split your post and pages into multiple pages with a tag. A button to split the pages and posts is available in text editor icons.",41875,92,37,"2025-10-22T08:43:00.000Z","6.8.5","4.0","7.0",[69,70,71,72,73],"ajax-posts","next-page","paged-posts","post-splitter","splitter-auto-loading","http:\u002F\u002Fandroidbubble.com\u002Fblog\u002Fwordpress\u002Fplugins\u002Fjquery-post-splitter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjquery-post-splitter.3.0.5.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":11,"num_ratings":86,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":9,"tags":90,"homepage":94,"download_link":95,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"bh-pagination","BH Pagination","1.0","ThemesVila","https:\u002F\u002Fprofiles.wordpress.org\u002Fmasumbd\u002F","\u003Cp>Simple pagination plugin, build with using bootstap css pagination code. this is very easy to use plugin .\u003C\u002Fp>\n","This is simple pagination pugin for wordpress template.",10,2887,1,"2013-11-27T10:33:00.000Z","3.5.2","3.3",[18,91,92,20,93],"navigation","page","post","http:\u002F\u002Fgetmasum.com\u002Fbh-pagination","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbh-pagination.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":84,"downloaded":104,"rating":13,"num_ratings":13,"last_updated":105,"tested_up_to":106,"requires_at_least":107,"requires_php":9,"tags":108,"homepage":111,"download_link":112,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":113},"easycommentspaginate","easyCommentsPaginate","1.1.1","mushtitude","https:\u002F\u002Fprofiles.wordpress.org\u002Fmushtitude\u002F","\u003Cp>easyCommentsPaginate is a plugin to easily create nice animated pagination for your comments. It’s easy but there is also a lot of options !\u003Cbr \u002F>\nIt is fully customizable : 4 differents animations, texts, css, hash tags …\u003Cbr \u002F>\nAnd yeah, there is a “test mode” in the options to configure your plugin when you edit your posts\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n\u003Ch3>A brief Markdown Example\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Easily paginate your comments\u003C\u002Fli>\n\u003Cli>4 nice differents animations\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Customizable css, titles …\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","easyCommentsPaginate is a plugin to easily create nice animated pagination for your comments",2435,"2012-01-03T09:36:00.000Z","3.3.2","3.0",[109,110,18,20],"ajax","animation","http:\u002F\u002Fwww.mushtitude.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasycommentspaginate.1.1.1.zip","2026-03-15T14:54:45.397Z",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":125,"last_updated":126,"tested_up_to":127,"requires_at_least":128,"requires_php":129,"tags":130,"homepage":135,"download_link":136,"security_score":137,"vuln_count":29,"unpatched_count":13,"last_vuln_date":138,"fetched_at":26},"akismet","Akismet Anti-spam: Spam Protection","5.6","Automattic","https:\u002F\u002Fprofiles.wordpress.org\u002Fautomattic\u002F","\u003Cp>The best anti-spam protection to block spam comments and spam in a contact form. The most trusted antispam solution for WordPress and WooCommerce.\u003C\u002Fp>\n\u003Cp>Akismet checks your comments and contact form submissions against our global database of spam to prevent your site from publishing malicious content. You can review the comment spam it catches on your blog’s “Comments” admin screen.\u003C\u002Fp>\n\u003Cp>Major features in Akismet include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically checks all comments and filters out the ones that look like spam.\u003C\u002Fli>\n\u003Cli>Each comment has a status history, so you can easily see which comments were caught or cleared by Akismet and which were spammed or unspammed by a moderator.\u003C\u002Fli>\n\u003Cli>URLs are shown in the comment body to reveal hidden or misleading links.\u003C\u002Fli>\n\u003Cli>Moderators can see the number of approved comments for each user.\u003C\u002Fli>\n\u003Cli>A discard feature that outright blocks the worst spam, saving you disk space and speeding up your site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PS: You’ll be prompted to get an Akismet.com API key to use it, once activated. Keys are free for personal blogs; paid subscriptions are available for businesses and commercial sites.\u003C\u002Fp>\n","The best anti-spam protection to block spam comments and spam in a contact form. The most trusted antispam solution for WordPress and WooCommerce.",6000000,386405930,94,1173,"2025-11-12T16:31:00.000Z","6.9.4","5.8","7.2",[131,132,18,133,134],"anti-spam","antispam","contact-form","spam","https:\u002F\u002Fakismet.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fakismet.5.6.zip",99,"2015-10-13 00:00:00",{"attackSurface":140,"codeSignals":169,"taintFlows":348,"riskAssessment":366,"analyzedAt":381},{"hooks":141,"ajaxHandlers":165,"restRoutes":166,"shortcodes":167,"cronEvents":168,"entryPointCount":13,"unprotectedCount":13},[142,148,153,156,161],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","init","paged_comments_fancy_url","paged-comments.php",48,{"type":143,"name":149,"callback":150,"priority":151,"file":146,"line":152},"template_redirect","paged_comments_alter_source",15,54,{"type":143,"name":144,"callback":154,"file":146,"line":155},"paged_comments_load_language",57,{"type":157,"name":158,"callback":159,"priority":86,"file":146,"line":160},"filter","comment_post_redirect","paged_comments_post_redirect_location",60,{"type":157,"name":162,"callback":163,"file":146,"line":164},"the_content","prepend_attachment",114,[],[],[],[],{"dangerousFunctions":170,"sqlUsage":171,"outputEscaping":182,"fileOperations":86,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":347},[],{"prepared":13,"raw":172,"locations":173},3,[174,177,179],{"file":146,"line":175,"context":176},146,"$wpdb->get_var() with variable interpolation",{"file":146,"line":178,"context":176},274,{"file":146,"line":180,"context":181},277,"$wpdb->get_results() with variable interpolation",{"escaped":13,"rawEcho":62,"locations":183},[184,187,188,190,192,193,195,196,199,201,203,205,207,208,209,211,213,215,217,219,222,223,225,227,229,230,232,234,235,236,238,240,242,244,246,248,250,251,252,254,256,258,259,260,262,264,265,267,269,272,273,274,275,277,279,281,283,285,287,290,292,294,296,298,300,301,302,304,306,308,310,311,314,316,318,319,320,322,324,326,327,328,329,331,333,335,337,339,341,342,344,345],{"file":146,"line":185,"context":186},500,"raw output",{"file":146,"line":185,"context":186},{"file":146,"line":189,"context":186},502,{"file":146,"line":191,"context":186},505,{"file":146,"line":191,"context":186},{"file":146,"line":194,"context":186},506,{"file":146,"line":194,"context":186},{"file":197,"line":198,"context":186},"themes\\classic\\comments-paged.php",23,{"file":197,"line":200,"context":186},25,{"file":197,"line":202,"context":186},52,{"file":197,"line":204,"context":186},55,{"file":197,"line":206,"context":186},59,{"file":197,"line":206,"context":186},{"file":197,"line":206,"context":186},{"file":197,"line":210,"context":186},63,{"file":197,"line":212,"context":186},66,{"file":197,"line":214,"context":186},69,{"file":197,"line":216,"context":186},74,{"file":197,"line":218,"context":186},79,{"file":220,"line":221,"context":186},"themes\\default\\comments-paged.php",35,{"file":220,"line":63,"context":186},{"file":220,"line":224,"context":186},38,{"file":220,"line":226,"context":186},45,{"file":220,"line":228,"context":186},84,{"file":220,"line":228,"context":186},{"file":220,"line":231,"context":186},87,{"file":220,"line":233,"context":186},91,{"file":220,"line":233,"context":186},{"file":220,"line":233,"context":186},{"file":220,"line":237,"context":186},95,{"file":220,"line":239,"context":186},98,{"file":220,"line":241,"context":186},101,{"file":220,"line":243,"context":186},106,{"file":220,"line":245,"context":186},111,{"file":247,"line":32,"context":186},"themes\\i3theme\\comments-paged.php",{"file":247,"line":249,"context":186},80,{"file":247,"line":24,"context":186},{"file":247,"line":233,"context":186},{"file":247,"line":253,"context":186},129,{"file":247,"line":255,"context":186},132,{"file":247,"line":257,"context":186},136,{"file":247,"line":257,"context":186},{"file":247,"line":257,"context":186},{"file":247,"line":261,"context":186},140,{"file":247,"line":263,"context":186},143,{"file":247,"line":175,"context":186},{"file":247,"line":266,"context":186},151,{"file":247,"line":268,"context":186},156,{"file":270,"line":271,"context":186},"themes\\k2\\comments-paged.php",58,{"file":270,"line":271,"context":186},{"file":270,"line":11,"context":186},{"file":270,"line":11,"context":186},{"file":270,"line":276,"context":186},160,{"file":270,"line":278,"context":186},172,{"file":270,"line":280,"context":186},184,{"file":270,"line":282,"context":186},187,{"file":270,"line":284,"context":186},190,{"file":270,"line":286,"context":186},203,{"file":288,"line":289,"context":186},"themes\\pool\\comments-paged.php",39,{"file":288,"line":291,"context":186},40,{"file":288,"line":293,"context":186},42,{"file":288,"line":295,"context":186},61,{"file":288,"line":297,"context":186},64,{"file":288,"line":299,"context":186},68,{"file":288,"line":299,"context":186},{"file":288,"line":299,"context":186},{"file":288,"line":303,"context":186},72,{"file":288,"line":305,"context":186},75,{"file":288,"line":307,"context":186},78,{"file":288,"line":309,"context":186},86,{"file":288,"line":231,"context":186},{"file":312,"line":313,"context":186},"themes\\regulus\\comments-paged.php",46,{"file":312,"line":315,"context":186},47,{"file":312,"line":317,"context":186},53,{"file":312,"line":204,"context":186},{"file":312,"line":137,"context":186},{"file":312,"line":321,"context":186},102,{"file":312,"line":323,"context":186},104,{"file":312,"line":325,"context":186},105,{"file":312,"line":245,"context":186},{"file":312,"line":245,"context":186},{"file":312,"line":245,"context":186},{"file":312,"line":330,"context":186},115,{"file":312,"line":332,"context":186},116,{"file":312,"line":334,"context":186},117,{"file":312,"line":336,"context":186},121,{"file":338,"line":315,"context":186},"themes\\sandbox\\comments-paged.php",{"file":338,"line":340,"context":186},81,{"file":338,"line":124,"context":186},{"file":338,"line":343,"context":186},97,{"file":338,"line":11,"context":186},{"file":338,"line":346,"context":186},107,[],[349],{"entryPoint":350,"graph":351,"unsanitizedCount":86,"severity":365},"\u003Ccomments-paged> (themes\\regulus\\comments-paged.php:0)",{"nodes":352,"edges":362},[353,357],{"id":354,"type":355,"label":356,"file":312,"line":325},"n0","source","$_SERVER['REQUEST_URI']",{"id":358,"type":359,"label":360,"file":312,"line":325,"wp_function":361},"n1","sink","echo() [XSS]","echo",[363],{"from":354,"to":358,"sanitized":364},false,"low",{"summary":367,"deductions":368},"The \"paged-comments\" v2.9.1 plugin, despite its age, exhibits a generally weak security posture primarily due to a lack of fundamental security practices. While there are no recorded CVEs and the static analysis reveals no critical vulnerabilities in terms of dangerous functions, AJAX handlers, REST API routes, or shortcodes, the code analysis flags significant concerns. Specifically, all SQL queries are executed without prepared statements, posing a risk of SQL injection. Furthermore, a staggering 92 output operations lack proper escaping, creating a high probability of Cross-Site Scripting (XSS) vulnerabilities. The presence of a single file operation without context also warrants attention. The taint analysis, though limited, points to at least one flow involving unsanitized paths, which could be exploited if it interacts with user-supplied input. The complete absence of nonce and capability checks across the entire plugin is a critical oversight, leaving any potential entry points (though currently none are identified) completely unprotected. The vulnerability history being clear might be a reflection of its limited complexity or the fact that it hasn't been actively targeted or analyzed by security researchers over time, rather than an indication of robust security. In conclusion, while the plugin appears to have a small attack surface and no known exploitable vulnerabilities, the underlying coding practices are concerning and present a clear risk of exploitation if new entry points were to be introduced or if existing functions were to be exposed differently.",[369,371,374,376,378],{"reason":370,"points":84},"SQL queries not using prepared statements",{"reason":372,"points":373},"No proper output escaping",8,{"reason":375,"points":84},"No nonce checks implemented",{"reason":377,"points":84},"No capability checks implemented",{"reason":379,"points":380},"Taint flow with unsanitized paths",5,"2026-03-16T21:05:18.570Z",{"wat":383,"direct":392},{"assetPaths":384,"generatorPatterns":387,"scriptPaths":388,"versionParams":389},[385,386],"\u002Fwp-content\u002Fplugins\u002Fpaged-comments\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fpaged-comments\u002Fjs\u002Fpaged-comments.js",[],[386],[390,391],"paged-comments\u002Fcss\u002Fstyle.css?ver=","paged-comments\u002Fjs\u002Fpaged-comments.js?ver=",{"cssClasses":393,"htmlComments":394,"htmlAttributes":395,"restEndpoints":396,"jsGlobals":397,"shortcodeOutput":399},[],[],[],[],[398],"window.paged_comments",[]]