[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fkpd03Y7BpJcCXc3co3sdQ8NMroS-H6dW-vI8uH_furU":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":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":131,"fingerprints":514},"widget-pagination","Widget Pagination","1.0.0","Jana","https:\u002F\u002Fprofiles.wordpress.org\u002Fjanasieber\u002F","\u003Cp>You can chose the (standard WordPress) widget, which is to be paginated, and set the items\u003Cbr \u002F>\nto show per widget page individually.\u003Cbr \u002F>\nYou can also set the number of pages to show and change the labels of the previous\u002Fnext link,\u003Cbr \u002F>\nas well as let the widget pages turn automatically.\u003Cbr \u002F>\nFinally, you can change the default styling to match your theme.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plugin’s Official Site\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>See a demo at: http:\u002F\u002Fwgpag.jana-sieber.de\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Languages\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Deutsch\u003C\u002Fli>\n\u003Cli>Român (provided by Alexander Ovsov)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Browser Compatibility\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>positively tested with the latest Firefox, Chrome and Edge\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plans\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>bullet points instead of numbers in pagination (let’s be modern)\u003C\u002Fli>\n\u003Cli>animated paging (a few sexy effects)\u003C\u002Fli>\n\u003Cli>support of more widget types than the current standard 8 ones (what others do you need paginated?)\u003C\u002Fli>\n\u003Cli>instant preview of option changes on the plugin settings page (we don’t like surprises, do we)\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin lets you add a stylable pagination for the widgets: Archives, Categories, Links, Meta, Pages, Individual Pages, Recent Posts and Recent Co &hellip;",60,14582,0,"2017-12-06T21:11:00.000Z","4.9.29","3.4","5.5",[19,20,21,22,23],"paginate","pagination","paginator","paging","widget","http:\u002F\u002Fwgpag.jana-sieber.de\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-pagination.1.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"janasieber",1,30,84,"2026-04-04T03:47:59.776Z",[37,57,76,94,113],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":17,"requires_php":51,"tags":52,"homepage":55,"download_link":56,"security_score":45,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"back-and-forward-button","Back and Forward Button","2.0","Dear","https:\u002F\u002Fprofiles.wordpress.org\u002Ftawhidurrahmandear\u002F","\u003Cp>\u003Cstrong>Add ◄ and ► button anywhere in website matching theme color and style. \u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Alternative of Previous and Next page\u003C\u002Fli>\n\u003Cli>You don’t need to transalte the PlugIn as as it shows “◄” and “►” only\u003C\u002Fli>\n\u003Cli>The PlugIn will automatically match with your Theme’s color, button, style. Visitor will think it as the part of your theme. If you use this PlugIn in different themes, you will feel the change\u003C\u002Fli>\n\u003Cli>Whether you are on a desktop, laptop, tablet, or smartphone, this PlugIn works smoothly with almost every leading browser, including Chrome, Firefox, Edge, Safari, Opera, and Brave\u003C\u002Fli>\n\u003Cli>Tested to work with commonly used Themes and PlugIns\u003C\u002Fli>\n\u003Cli>The PlugIn takes very low space in hosting, and optimized to load quickly and use minimal server resources\u003C\u002Fli>\n\u003Cli>Easy Installation! After activation of the PlugIn, Simply go to Appearance, then Widgets, and drag ‘PlugIn’ in sidebar or footer or into any widgetized area. If you use any Page Builder, then you can add inside page or post also. You can use ShortCode too\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003C\u002Fp>\n\u003Ch3>Live Preview\u003C\u002Fh3>\n\u003Cp>Check the Live Preview of \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fstore.devilhunter.net\u002Fwordpress-plugin\u002Fback-and-forward-button\u002F\" rel=\"noopener nofollow ugc\">Back and Forward Button for WordPress\u003C\u002Fa>\u003C\u002Fstrong> first, then Install.\u003C\u002Fp>\n\u003Cp>If you are browsing from laptop, then you will see “◄” and “►” button at left side navigation bar; and if you are browsing from mobile or tab, then you will see “◄” and “►” button at top-left hamburger menu. Remember, the preview will be different at different themes as the PlugIn automatically match with Theme’s color, font, style. \u003C\u002Fp>\n\u003Cp>\u003C\u002Fp>\n\u003Ch3>Hire for Web Development\u003C\u002Fh3>\n\u003Cp>\u003C\u002Fp>\n\u003Cp>If you are looking for Professional Web Developer to build your dream website, then we are here to help you with these offers :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fitsolution.devilhunter.net\u002Fp\u002Fcorporate-website.html\" rel=\"noopener nofollow ugc\">Small Business website design in WordPress\u003C\u002Fa>,\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fitsolution.devilhunter.net\u002Fp\u002Fnewspaper-or-magazine-website.html\" rel=\"noopener nofollow ugc\">Newspaper or Magazine website design in WordPress\u003C\u002Fa>,\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fitsolution.devilhunter.net\u002Fp\u002Fecommerce-website.html\" rel=\"noopener nofollow ugc\">eCommerce website design in WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003C\u002Fp>\n\u003Ch3>Are you happy?\u003C\u002Fh3>\n\u003Cp>You are requested to provide positive review in WordPress.org with some extra clicks to share this PlugIn in your social network\u003C\u002Fp>\n\u003Cp>\u003C\u002Fp>\n\u003Cp>Thank you\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Tawhidur Rahman Dear\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fitsolution.devilhunter.net\" rel=\"nofollow ugc\">Dear IT Solution\u003C\u002Fa>  : IT Consultancy, Web and App Development, AdSense, SEO, Graphic Design, Password Recovery and Security, Online Marketing, Corporate Services\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fstore.devilhunter.net\" rel=\"nofollow ugc\">Dear Store\u003C\u002Fa>  : WordPress PlugIn, JavaScript, CSS Code, Blogger Theme, Desktop Software for Windows\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fapps.devilhunter.net\" rel=\"nofollow ugc\">Dear Apps Corner\u003C\u002Fa>  : More than 75 Android Apps to make your life beautiful\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003C\u002Fp>\n","Add ◄ and ► button anywhere in website matching theme color and style. Check the Live Preview first, then Install.",100,8398,76,4,"2025-12-06T21:25:00.000Z","6.9.4","7.4",[53,54,19,20,22],"browsing","navigation","https:\u002F\u002Fstore.devilhunter.net\u002Fwordpress-plugin\u002Fback-and-forward-button\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fback-and-forward-button.2.0.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":45,"downloaded":65,"rating":13,"num_ratings":13,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":74,"download_link":75,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"custom-pagination-permalinks","Custom Pagination Permalinks","1.0","Pau Iglesias","https:\u002F\u002Fprofiles.wordpress.org\u002Fpauiglesias\u002F","\u003Cp>If you want to customize pagination URLs you can see that there are no options to change the URL suffix “[..]\u002Fpage\u002F[number]\u002F” that WordPress implements in paging context: from home page, in category or tag navigation, search results pages, etc.\u003C\u002Fp>\n\u003Cp>This plugin allows you to define a new URL suffix to replace the usual “[..]\u002Fpage\u002F[number]\u002F” and define custom pagination URLs.\u003C\u002Fp>\n\u003Cp>To do this make sure that you have activated the pretty permalinks options of WordPress under menu Settings > Permalinks.\u003C\u002Fp>\n\u003Cp>About the previous URLs, this plugin does automatically redirects from old classic URLs to the defined new ones.\u003C\u002Fp>\n\u003Cp>Also there is another feature where you can indicate to search engines that the current page is part of a listing. This option adds the tags \u003Clink> with attributes rel=”prev” and\u002For rel=”next” into the head section.\u003C\u002Fp>\n","Custom listing pagination URLs instead default WordPress permalinks like \"[..]\u002Fpage\u002F[number]\u002F\"",4462,"2015-08-31T11:31:00.000Z","4.3.34","3.3.2","",[71,72,20,22,73],"custom","paginated","permalinks","http:\u002F\u002Fblogestudio.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-pagination-permalinks.1.0.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":69,"tags":90,"homepage":92,"download_link":93,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"wp-seo-paginate","WP-SEO-Paginate","2.2","Pankaj Jha","https:\u002F\u002Fprofiles.wordpress.org\u002Fmasdiblogs\u002F","\u003Cp>\n\u003Ca href=\"http:\u002F\u002Fonlinewebapplication.com\" rel=\"nofollow ugc\">Author Site\u003C\u002Fa>|\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fonlinewebapplication.com\u002F2011\u002F10\u002Fwp-seo-paginate.html\" rel=\"nofollow ugc\">Plugin Home Page\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Replaces the basic paging style with a simple paging navigation interface. WP-SEO-Paginate is a simple and flexible pagination plugin which provides users with better navigation on your WordPress site. In addition to increasing the user experience for your visitors, pagination also increases the SEO of your site by providing more links to your content. WP-SEO-Paginate can also be used to paginate post comments! Pagination for easier navigation on your WordPress\u003C\u002Fp>\n\u003Cp>Feature:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Replaces the basic ? Older posts | Newer posts ? links with a simple paging navigation interface.\u003C\u002Fli>\n\u003Cli>Works on all modern browsers.\u003C\u002Fli>\n\u003Cli>Backwards Compatibility.\u003C\u002Fli>\n\u003Cli>Very simple configuration.\u003C\u002Fli>\n\u003Cli>Support all the theme.\u003C\u002Fli>\n\u003Cli>SEO compatible.\u003C\u002Fli>\n\u003Cli>WP-SEO-Paginate can also be used to paginate post comments\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Translations: https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-seo-paginate\u002Ftrunk\u002FI18n (check the version number for the correct file)\u003C\u002Fp>\n","Provides users with better and simple navigation interface.",90,10641,2,"2013-12-17T04:11:00.000Z","3.7.41","3.0",[54,91,19,20,22],"pages","http:\u002F\u002Fonlinewebapplication.com\u002F2011\u002F10\u002Fwp-seo-paginate.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-seo-paginate.zip",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":102,"downloaded":103,"rating":104,"num_ratings":105,"last_updated":106,"tested_up_to":107,"requires_at_least":108,"requires_php":69,"tags":109,"homepage":110,"download_link":111,"security_score":112,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"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",[54,91,20,22],"https:\u002F\u002Flesterchan.net\u002Fportfolio\u002Fprogramming\u002Fphp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-pagenavi.2.94.5.zip",92,{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":112,"num_ratings":123,"last_updated":124,"tested_up_to":107,"requires_at_least":69,"requires_php":69,"tags":125,"homepage":127,"download_link":128,"security_score":129,"vuln_count":86,"unpatched_count":13,"last_vuln_date":130,"fetched_at":28},"wp-paginate","WP-Paginate","2.2.4","maxfoundry","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaxfoundry\u002F","\u003Ch4>Latest News\u003C\u002Fh4>\n\u003Cp>WP-Paginate is a simple and flexible pagination plugin which provides users with better navigation on your WordPress site.\u003C\u002Fp>\n\u003Cp>In addition to increasing the user experience for your visitors, it has also been widely reported that pagination increases the SEO of your site by providing more links to your content.\u003C\u002Fp>\n\u003Cp>You can add custom CSS for your pagination links with the Custom CSS tab in WP-Paginate Settings.\u003C\u002Fp>\n\u003Cp>Starting in version 1.1, WP-Paginate can also be used to paginate post comments!\u003C\u002Fp>\n\u003Cp>Translations: https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-paginate\u002FI18n (check the version number for the correct file)\u003C\u002Fp>\n","WP-Paginate is a simple and flexible pagination plugin which provides users with better navigation on your WordPress site.",20000,1023369,107,"2025-02-19T12:18:00.000Z",[54,126,19,20,114],"page","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-paginate\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-paginate.2.2.4.zip",91,"2022-06-16 00:00:00",{"attackSurface":132,"codeSignals":167,"taintFlows":501,"riskAssessment":502,"analyzedAt":513},{"hooks":133,"ajaxHandlers":163,"restRoutes":164,"shortcodes":165,"cronEvents":166,"entryPointCount":13,"unprotectedCount":13},[134,140,143,145,148,151,154,156],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","plugins_loaded","anonymous","includes\\class-widget-pagination.php",152,{"type":135,"name":141,"callback":137,"file":138,"line":142},"admin_enqueue_scripts",167,{"type":135,"name":141,"callback":137,"file":138,"line":144},168,{"type":135,"name":146,"callback":137,"file":138,"line":147},"admin_init",171,{"type":135,"name":149,"callback":137,"file":138,"line":150},"admin_menu",174,{"type":135,"name":152,"callback":137,"file":138,"line":153},"wp_enqueue_scripts",193,{"type":135,"name":152,"callback":137,"file":138,"line":155},194,{"type":157,"name":158,"callback":159,"priority":160,"file":161,"line":162},"filter","style_loader_tag","replace_option_style",10,"public\\class-widget-pagination-public.php",95,[],[],[],[],{"dangerousFunctions":168,"sqlUsage":169,"outputEscaping":171,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":500},[],{"prepared":13,"raw":13,"locations":170},[],{"escaped":48,"rawEcho":172,"locations":173},163,[174,178,180,182,184,186,187,189,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498],{"file":175,"line":176,"context":177},"admin\\partials\\widget-pagination-admin-display.php",18,"raw output",{"file":175,"line":179,"context":177},186,{"file":175,"line":181,"context":177},187,{"file":175,"line":183,"context":177},191,{"file":175,"line":185,"context":177},192,{"file":175,"line":153,"context":177},{"file":175,"line":188,"context":177},195,{"file":175,"line":188,"context":177},{"file":175,"line":191,"context":177},234,{"file":175,"line":193,"context":177},239,{"file":175,"line":195,"context":177},240,{"file":175,"line":197,"context":177},241,{"file":175,"line":199,"context":177},242,{"file":175,"line":201,"context":177},248,{"file":175,"line":203,"context":177},253,{"file":175,"line":205,"context":177},254,{"file":175,"line":207,"context":177},255,{"file":175,"line":209,"context":177},257,{"file":175,"line":211,"context":177},264,{"file":175,"line":213,"context":177},269,{"file":175,"line":215,"context":177},270,{"file":175,"line":217,"context":177},271,{"file":175,"line":219,"context":177},273,{"file":175,"line":221,"context":177},280,{"file":175,"line":223,"context":177},285,{"file":175,"line":225,"context":177},286,{"file":175,"line":227,"context":177},287,{"file":175,"line":229,"context":177},290,{"file":175,"line":231,"context":177},297,{"file":175,"line":233,"context":177},302,{"file":175,"line":235,"context":177},303,{"file":175,"line":237,"context":177},304,{"file":175,"line":239,"context":177},306,{"file":175,"line":241,"context":177},329,{"file":175,"line":243,"context":177},333,{"file":175,"line":245,"context":177},334,{"file":175,"line":247,"context":177},357,{"file":175,"line":249,"context":177},382,{"file":175,"line":251,"context":177},387,{"file":175,"line":253,"context":177},388,{"file":175,"line":255,"context":177},389,{"file":175,"line":257,"context":177},391,{"file":175,"line":259,"context":177},398,{"file":175,"line":261,"context":177},403,{"file":175,"line":263,"context":177},404,{"file":175,"line":265,"context":177},405,{"file":175,"line":267,"context":177},407,{"file":175,"line":269,"context":177},414,{"file":175,"line":271,"context":177},419,{"file":175,"line":273,"context":177},420,{"file":175,"line":275,"context":177},421,{"file":175,"line":277,"context":177},422,{"file":175,"line":279,"context":177},428,{"file":175,"line":281,"context":177},433,{"file":175,"line":283,"context":177},434,{"file":175,"line":285,"context":177},435,{"file":175,"line":287,"context":177},438,{"file":175,"line":289,"context":177},450,{"file":175,"line":291,"context":177},455,{"file":175,"line":293,"context":177},456,{"file":175,"line":295,"context":177},457,{"file":175,"line":297,"context":177},459,{"file":175,"line":299,"context":177},466,{"file":175,"line":301,"context":177},471,{"file":175,"line":303,"context":177},472,{"file":175,"line":305,"context":177},473,{"file":175,"line":307,"context":177},474,{"file":175,"line":309,"context":177},480,{"file":175,"line":311,"context":177},485,{"file":175,"line":313,"context":177},486,{"file":175,"line":315,"context":177},487,{"file":175,"line":317,"context":177},489,{"file":175,"line":319,"context":177},496,{"file":175,"line":321,"context":177},501,{"file":175,"line":323,"context":177},502,{"file":175,"line":325,"context":177},503,{"file":175,"line":327,"context":177},506,{"file":175,"line":329,"context":177},518,{"file":175,"line":331,"context":177},523,{"file":175,"line":333,"context":177},524,{"file":175,"line":335,"context":177},525,{"file":175,"line":337,"context":177},527,{"file":175,"line":339,"context":177},534,{"file":175,"line":341,"context":177},539,{"file":175,"line":343,"context":177},540,{"file":175,"line":345,"context":177},541,{"file":175,"line":347,"context":177},543,{"file":175,"line":349,"context":177},550,{"file":175,"line":351,"context":177},555,{"file":175,"line":353,"context":177},556,{"file":175,"line":355,"context":177},557,{"file":175,"line":357,"context":177},559,{"file":175,"line":359,"context":177},566,{"file":175,"line":361,"context":177},571,{"file":175,"line":363,"context":177},572,{"file":175,"line":365,"context":177},573,{"file":175,"line":367,"context":177},576,{"file":175,"line":369,"context":177},593,{"file":175,"line":371,"context":177},599,{"file":175,"line":373,"context":177},605,{"file":175,"line":375,"context":177},610,{"file":175,"line":377,"context":177},616,{"file":175,"line":379,"context":177},621,{"file":175,"line":381,"context":177},622,{"file":175,"line":383,"context":177},623,{"file":175,"line":385,"context":177},627,{"file":175,"line":387,"context":177},635,{"file":175,"line":389,"context":177},636,{"file":175,"line":391,"context":177},637,{"file":175,"line":393,"context":177},641,{"file":175,"line":395,"context":177},650,{"file":175,"line":397,"context":177},651,{"file":175,"line":399,"context":177},652,{"file":175,"line":401,"context":177},656,{"file":175,"line":403,"context":177},665,{"file":175,"line":405,"context":177},666,{"file":175,"line":407,"context":177},667,{"file":175,"line":409,"context":177},671,{"file":175,"line":411,"context":177},679,{"file":175,"line":413,"context":177},684,{"file":175,"line":415,"context":177},685,{"file":175,"line":417,"context":177},686,{"file":175,"line":419,"context":177},690,{"file":175,"line":421,"context":177},699,{"file":175,"line":423,"context":177},700,{"file":175,"line":425,"context":177},701,{"file":175,"line":427,"context":177},705,{"file":175,"line":429,"context":177},714,{"file":175,"line":431,"context":177},715,{"file":175,"line":433,"context":177},716,{"file":175,"line":435,"context":177},720,{"file":175,"line":437,"context":177},729,{"file":175,"line":439,"context":177},730,{"file":175,"line":441,"context":177},731,{"file":175,"line":443,"context":177},735,{"file":175,"line":445,"context":177},743,{"file":175,"line":447,"context":177},748,{"file":175,"line":449,"context":177},749,{"file":175,"line":451,"context":177},750,{"file":175,"line":453,"context":177},752,{"file":175,"line":455,"context":177},760,{"file":175,"line":457,"context":177},805,{"file":175,"line":459,"context":177},806,{"file":175,"line":461,"context":177},807,{"file":175,"line":463,"context":177},809,{"file":175,"line":465,"context":177},824,{"file":175,"line":467,"context":177},830,{"file":175,"line":469,"context":177},836,{"file":175,"line":471,"context":177},842,{"file":175,"line":473,"context":177},849,{"file":175,"line":475,"context":177},861,{"file":175,"line":477,"context":177},867,{"file":175,"line":479,"context":177},873,{"file":175,"line":481,"context":177},879,{"file":175,"line":483,"context":177},893,{"file":175,"line":485,"context":177},899,{"file":175,"line":487,"context":177},905,{"file":175,"line":489,"context":177},911,{"file":175,"line":491,"context":177},925,{"file":175,"line":493,"context":177},931,{"file":175,"line":495,"context":177},937,{"file":175,"line":497,"context":177},943,{"file":175,"line":499,"context":177},1004,[],[],{"summary":503,"deductions":504},"The widget-pagination plugin v1.0.0, based on the provided static analysis, exhibits a generally good security posture with no identified critical or high-risk vulnerabilities in its attack surface, code signals, or taint flows. The absence of AJAX handlers, REST API routes, shortcodes, cron events, and file operations significantly limits the potential for external manipulation. Furthermore, the plugin demonstrates strong adherence to secure coding practices by exclusively using prepared statements for its SQL queries and making no external HTTP requests.\n\nHowever, a notable concern arises from the extremely low percentage (2%) of properly escaped outputs. With 167 total outputs, this indicates a widespread potential for Cross-Site Scripting (XSS) vulnerabilities. Attackers could potentially inject malicious scripts through user-supplied data that is not adequately sanitized before being displayed to other users. The lack of explicit capability checks and nonce checks, while not directly indicating a vulnerability given the limited attack surface, does mean that if new entry points were introduced or if the plugin's functionality were to be expanded in the future, these basic security checks would be missing.\n\nThe plugin's vulnerability history is entirely clean, with no recorded CVEs. This, combined with the absence of critical findings in the code and taint analysis, suggests a well-developed plugin. However, the significant weakness in output escaping should not be overlooked and represents the most pressing security concern. While the attack surface is currently minimal and the SQL practices are sound, the widespread unescaped output presents a tangible risk that requires immediate attention.",[505,508,511],{"reason":506,"points":507},"Low percentage of properly escaped output",8,{"reason":509,"points":510},"No capability checks implemented",3,{"reason":512,"points":510},"No nonce checks implemented","2026-03-16T21:47:18.716Z",{"wat":515,"direct":524},{"assetPaths":516,"generatorPatterns":519,"scriptPaths":520,"versionParams":521},[517,518],"\u002Fwp-content\u002Fplugins\u002Fwidget-pagination\u002Fadmin\u002Fcss\u002Fwidget-pagination-admin.css","\u002Fwp-content\u002Fplugins\u002Fwidget-pagination\u002Fadmin\u002Fjs\u002Fwidget-pagination-admin.js",[],[518],[522,523],"widget-pagination\u002Fadmin\u002Fcss\u002Fwidget-pagination-admin.css?ver=","widget-pagination\u002Fadmin\u002Fjs\u002Fwidget-pagination-admin.js?ver=",{"cssClasses":525,"htmlComments":526,"htmlAttributes":527,"restEndpoints":529,"jsGlobals":530,"shortcodeOutput":531},[],[],[528],"data-field-id",[],[],[]]