[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fcA4lqSA2FthSv3uC-_drnuSHWX7nzUNCuprXYpHNvfw":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":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":34,"analysis":131,"fingerprints":168},"nextpage-link","NextPage Link","1.0.2","NewsFront","https:\u002F\u002Fprofiles.wordpress.org\u002Fnewsfront\u002F","\u003Cp>A link to the next page can be displayed using a short code.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>PHP version 5.3 or greater.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>All files and scripts are licensed under GNU General Public License.\u003C\u002Fp>\n","A link to the next page can be displayed using a short code.",10,1438,0,"2022-11-04T00:55:00.000Z","6.1.10","5.7","5.3",[19,20,21],"nextpage","pagination","shortcode","https:\u002F\u002Fwww.newsfront.jp\u002Fwordpress\u002Fplugins\u002Fnextpage-link\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnextpage-link.1.0.2.zip",85,null,"2026-03-15T14:54:45.397Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"newsfront",1,30,84,"2026-04-04T21:37:36.857Z",[35,56,74,93,110],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":53,"download_link":54,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"wp-smart-pagination","WP Smart Pagination","0.2","Kharis Sulistiyono","https:\u002F\u002Fprofiles.wordpress.org\u002Fkharisblank\u002F","\u003Cp>This simple plugin improves your WordPress powered blog pagination with extra input number where users can jump to any (x) page.\u003C\u002Fp>\n\u003Cp>For custom styling matches your theme’s skin, modify the .less or .css file in the plugin package.\u003C\u002Fp>\n\u003Cp>Check the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-smart-pagination\u002Fscreenshots\u002F\" rel=\"ugc\">screenshot\u003C\u002Fa> for the shake of visual before you download.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>After this plugin activated, replace your old-school pagination with this schortcode \u003Ccode>\u003C?php echo do_shortcode('[wpsp]'); ?>\u003C\u002Fcode> in your template file, i.e. index.php, archive.php, search.php, or any template requires pagination.\u003C\u002Fp>\n","Improve your WordPress powered blog pagination with extra input number where users can jump to any (x) page.",100,11980,74,3,"2013-11-19T09:27:00.000Z","3.7.41","2.1.0","",[52,20,21],"page","https:\u002F\u002Fgithub.com\u002Fkharissulistiyo\u002FWP-Smart-Pagination","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-smart-pagination.zip","2026-03-15T15:16:48.613Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":11,"downloaded":64,"rating":13,"num_ratings":13,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":50,"tags":68,"homepage":72,"download_link":73,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"cc-list-posts","CC-List-Posts","1.0.1","Clearcode","https:\u002F\u002Fprofiles.wordpress.org\u002Fclearcodehq\u002F","\u003Cp>The CC-List-Posts plugin works out of the box.\u003Cbr \u002F>\nThere is no settings page for it.\u003Cbr \u002F>\nAfter activation you can start using \u003Ccode>wp_list_posts\u003C\u002Fcode> function and\u002For shortcode with the parameters listed below.\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Cstrong>Notice\u003C\u002Fstrong>: the plugin can be used with the \u003Ccode>wp_link_pages\u003C\u002Fcode> built-in functionality if you use \u003Ccode>pagination\u003C\u002Fcode> parameter with integer value.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Defaults\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>before\u003C\u002Fstrong>: (string) \u003Cul>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>after\u003C\u002Fstrong>: (string) \u003C\u002Ful>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_before\u003C\u002Fstrong>: (string) \u003Cem>empty string\u003C\u002Fem>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_after\u003C\u002Fstrong>: (string) \u003Cem>empty string\u003C\u002Fem>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>type\u003C\u002Fstrong>: (string) postbypost,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>echo\u003C\u002Fstrong>: (integer) 0,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>pagination\u003C\u002Fstrong>: (boolean|integer) false,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>format\u003C\u002Fstrong>: (string) html\u003C\u002Fli>\n\u003Cli>\u003Cstrong>type\u003C\u002Fstrong>: (string) monthly,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>limit\u003C\u002Fstrong>: (string) \u003Cem>empty string\u003C\u002Fem>,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>show_post_count\u003C\u002Fstrong>: (boolean) false,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong>: (string) DESC,\u003C\u002Fli>\n\u003Cli>\u003Cstrong>post_type\u003C\u002Fstrong>: (string) post\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>\u003Cstrong>Notice\u003C\u002Fstrong>: plugin uses \u003Ccode>wp_get_archives\u003C\u002Fcode> function to list posts, so you can also use additional parameters. A full list is available at WordPress \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwp_get_archives\" rel=\"nofollow ugc\">codex\u003C\u002Fa> page documentation.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>wp_list_posts parameter mapped to wp_get_archives\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>link_before\u003C\u002Fstrong>: before\u003C\u002Fli>\n\u003Cli>\u003Cstrong>link_after\u003C\u002Fstrong>: after\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Default usage\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Function\u003C\u002Fstrong>: \u003Ccode>wp_list_posts( array( 'pagination' => 50 ) )\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode\u003C\u002Fstrong>: \u003Ccode>[wp_list_posts pagination=50]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds similar to wp_list_pages, missing function and shortcode wp_list_posts with pagination support.",1496,"2022-03-16T14:37:00.000Z","5.9.13","4.7",[20,21,69,70,71],"wp_get_archives","wp_list_pages","wp_list_posts","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcc-list-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcc-list-posts.zip",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":11,"downloaded":82,"rating":43,"num_ratings":46,"last_updated":83,"tested_up_to":84,"requires_at_least":85,"requires_php":50,"tags":86,"homepage":90,"download_link":91,"security_score":92,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"list-custom-post-with-featured-image","List Custom Post with featured image","1.2","Vikas Sharma","https:\u002F\u002Fprofiles.wordpress.org\u002Fdevikas301\u002F","\u003Cp>This plugin allows to create gallery for custom post using short-code.\u003C\u002Fp>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>  [LCPOSTLIST post_type=\"post\" limit=4 order=\"ASC\" pagination=\"off\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Simple plugin. Show feature image, title with pagination on anywhere using shortcode.",2216,"2024-10-06T17:26:00.000Z","6.6.5","3.6",[87,88,20,89,21],"custom-post-grid","custom-post-list","rockon","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flist-custom-post-with-featured-image\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flist-custom-post-with-featured-image.zip",92,{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":11,"downloaded":101,"rating":13,"num_ratings":13,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":50,"tags":105,"homepage":108,"download_link":109,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"wp-link-pages-extended","WP Link Pages Extended","1.0","Terry O'Brien (HoosierDragon)","https:\u002F\u002Fprofiles.wordpress.org\u002Fhoosierdragon\u002F","\u003Cp>Replaces the boring nextpage pagination navigation system with something more informative that includes the page number and page count and links to the First and Previous and Next and Last pages. It also provides a link to display all pages as a single page and back.\u003C\u002Fp>\n","Replaces the boring nextpage pagination navigation system with something more informative that includes the page number and page count and links to th &hellip;",1694,"2015-09-28T04:59:00.000Z","4.3.34","2.7",[19,20,106,107],"wp_link_pages","wp_link_pages_args","http:\u002F\u002Fwww.terryobrien.com\u002Fprogramming\u002Fwordpress\u002Fplugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-link-pages-extended.1.0.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":120,"num_ratings":121,"last_updated":122,"tested_up_to":123,"requires_at_least":124,"requires_php":50,"tags":125,"homepage":129,"download_link":130,"security_score":92,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":55},"wp-pagenavi","WP-PageNavi","2.94.5","Lester Chan","https:\u002F\u002Fprofiles.wordpress.org\u002Fgamerz\u002F","\u003Cp>Want to replace the old \u003Cem>&larr; Older posts | Newer posts &rarr;\u003C\u002Fem> links with some page links?\u003C\u002Fp>\n\u003Cp>This plugin provides the \u003Ccode>wp_pagenavi()\u003C\u002Fcode> template tag which generates fancy pagination links.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>In your theme, you need to find calls to next_posts_link() and previous_posts_link() and replace them.\u003C\u002Fp>\n\u003Cp>In the Twentyten theme, it looks like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"nav-previous\">\u003C?php next_posts_link( __( '\u003Cspan class=\"meta-nav\">&larr;\u003C\u002Fspan> Older posts', 'twentyten' ) ); ?>\u003C\u002Fdiv>\n\u003Cdiv class=\"nav-next\">\u003C?php previous_posts_link( __( 'Newer posts \u003Cspan class=\"meta-nav\">&rarr;\u003C\u002Fspan>', 'twentyten' ) ); ?>\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You would replace those two lines with this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_pagenavi(); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For multipart pages, you would look for code like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_link_pages( ... ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>and replace it with this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php wp_pagenavi( array( 'type' => 'multipart' ) ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Go to \u003Cem>WP-Admin -> Settings -> PageNavi\u003C\u002Fem> for configuration.\u003C\u002Fp>\n\u003Ch3>Changing the CSS\u003C\u002Fh3>\n\u003Cp>If you need to configure the CSS style of WP-PageNavi, you can copy the \u003Ccode>pagenavi-css.css\u003C\u002Fcode> file from the plugin directory to your theme’s directory and make your modifications there. This way, you won’t lose your changes when you update the plugin.\u003C\u002Fp>\n\u003Cp>Alternatively, you can uncheck the “Use pagenavi.css?” option from the settings page and add the styles to your theme’s style.css file directly.\u003C\u002Fp>\n\u003Ch3>Changing Class Names\u003C\u002Fh3>\n\u003Cp>There are \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FGlossary#Filter\" rel=\"nofollow ugc\">filters\u003C\u002Fa> that can be used to change the default class names that are assigned to page navigation elements.\u003C\u002Fp>\n\u003Ch4>Filters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>wp_pagenavi_class_pages\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_first\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_previouspostslink\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_extend\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_smaller\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_page\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_current\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_larger\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_nextpostslink\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_pagenavi_class_last\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Filter Usage\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u002F\u002F Simple Usage - 1 callback per filter\nadd_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_previouspostslink_class');\nadd_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_nextpostslink_class');\nadd_filter('wp_pagenavi_class_page', 'theme_pagination_page_class');\n\nfunction theme_pagination_previouspostslink_class($class_name) {\n  return 'pagination__control-link pagination__control-link--previous';\n}\n\nfunction theme_pagination_nextpostslink_class($class_name) {\n  return 'pagination__control-link pagination__control-link--next';\n}\n\nfunction theme_pagination_page_class($class_name) {\n  return 'pagination__current-page';\n}\n\n\n\u002F\u002F More Concise Usage - 1 callback for all filters\nadd_filter('wp_pagenavi_class_previouspostslink', 'theme_pagination_class');\nadd_filter('wp_pagenavi_class_nextpostslink', 'theme_pagination_class');\nadd_filter('wp_pagenavi_class_page', 'theme_pagination_class');\n\nfunction theme_pagination_class($class_name) {\n  switch($class_name) {\n    case 'previouspostslink':\n      $class_name = 'pagination__control-link pagination__control-link--previous';\n      break;\n    case 'nextpostslink':\n      $class_name = 'pagination__control-link pagination__control-link--next';\n      break;\n    case 'page':\n      $class_name = 'pagination__current'\n      break;\n  }\n  return $class_name;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\" title=\"https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Flesterchan\u002Fwp-pagenavi\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Plugin icon by \u003Ca href=\"http:\u002F\u002Fwww.simpleicon.com\" rel=\"nofollow ugc\">SimpleIcon\u003C\u002Fa> from \u003Ca href=\"http:\u002F\u002Fwww.flaticon.com\" rel=\"nofollow ugc\">Flaticon\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Donations\u003C\u002Fh3>\n\u003Cp>I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.\u003C\u002Fp>\n","Adds a more advanced paging navigation interface.",500000,13305409,94,149,"2024-12-19T01:02:00.000Z","6.7.5","4.6",[126,127,20,128],"navigation","pages","paging","https:\u002F\u002Flesterchan.net\u002Fportfolio\u002Fprogramming\u002Fphp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-pagenavi.2.94.5.zip",{"attackSurface":132,"codeSignals":153,"taintFlows":161,"riskAssessment":162,"analyzedAt":167},{"hooks":133,"ajaxHandlers":140,"restRoutes":141,"shortcodes":142,"cronEvents":151,"entryPointCount":152,"unprotectedCount":13},[134],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","init","register_shortcode","nextpage-link.php",32,[],[],[143,147],{"tag":144,"callback":145,"file":138,"line":146},"nextpage_link","do_nextpage_link",42,{"tag":148,"callback":149,"file":138,"line":150},"nextpage_link_toc","do_nextpage_link_toc",43,[],2,{"dangerousFunctions":154,"sqlUsage":155,"outputEscaping":157,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":30,"bundledLibraries":160},[],{"prepared":13,"raw":13,"locations":156},[],{"escaped":158,"rawEcho":13,"locations":159},29,[],[],[],{"summary":163,"deductions":164},"The 'nextpage-link' v1.0.2 plugin exhibits a strong security posture based on the provided static analysis.  The absence of dangerous functions, reliance on prepared statements for all SQL queries, and 100% proper output escaping indicate good coding practices.  The plugin also avoids common pitfalls like file operations and external HTTP requests.  The vulnerability history is clean, with no known CVEs, which is a positive sign, though it's important to note that this could be due to the plugin's relative obscurity or limited exposure rather than a definitive guarantee of future safety.\n\nWhile the attack surface is minimal and there are no unprotected entry points, a key area of concern is the complete lack of nonce checks.  This is a significant omission, especially given the presence of two shortcodes, which can be exploited for cross-site request forgery (CSRF) attacks if they perform sensitive actions.  The single capability check is a mitigating factor, but without nonces, the protection is incomplete.  The taint analysis showing zero flows is excellent, suggesting that user input is not being mishandled in critical ways.\n\nIn conclusion, the plugin demonstrates good security fundamentals in areas like SQL and output handling.  However, the complete absence of nonce checks on its shortcodes represents a notable security weakness that could lead to CSRF vulnerabilities.  The lack of historical vulnerabilities is a good indicator, but it should be balanced against the identified coding gap.",[165],{"reason":166,"points":11},"Missing nonce checks on shortcodes","2026-03-16T23:36:28.003Z",{"wat":169,"direct":177},{"assetPaths":170,"generatorPatterns":174,"scriptPaths":175,"versionParams":176},[171,172,173],"\u002Fwp-content\u002Fplugins\u002Fnextpage-link\u002Ftemplate-parts\u002Flayout.php","\u002Fwp-content\u002Fplugins\u002Fnextpage-link\u002Ftemplate-parts\u002Flayout-toc.php","\u002Fwp-content\u002Fplugins\u002Fnextpage-link\u002Ftemplate-parts\u002Flayout-pagination.php",[],[],[],{"cssClasses":178,"htmlComments":179,"htmlAttributes":180,"restEndpoints":181,"jsGlobals":182,"shortcodeOutput":183},[],[],[],[],[],[184,185],"[nextpage_link]","[nextpage_link_toc]"]