[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f_G4T9r51z8wpYXV5-fKuWQrmIeJx8u7OsliUVPTL5cs":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"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":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":137,"fingerprints":197},"keep-pagination-in-same-taxonomy","Keep Pagination in Same Taxonomy","0.15","keith_wp","https:\u002F\u002Fprofiles.wordpress.org\u002Fkeith_wp\u002F","\u003Cp>Instantly join separate posts together by making the Previous\u002FNext Post links on a Single Post look for other posts that share the same taxonomies.\u003C\u002Fp>\n\u003Cp>This lightweight plugin simply adds a filter to your selected taxonomies (both default and custom) so that any theme can have its post navigation links stay in the same category as the currently viewed post.\u003C\u002Fp>\n","Makes any previous\u002Fnext post links use the same taxonomy as the current post.",100,2552,3,"2025-04-07T15:19:00.000Z","6.7.5","4.0","8.3",[19,20,21,22,23],"link-posts","pagination","post-navigation","previous-next-posts","previous-next-links","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkeep-pagination-in-same-taxonomy.0.15.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},10,300,95,30,91,"2026-04-04T10:39:58.738Z",[38,59,77,97,120],{"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":49,"last_updated":50,"tested_up_to":51,"requires_at_least":16,"requires_php":52,"tags":53,"homepage":57,"download_link":58,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"styles-for-wp-pagenavi-addon","Styles For WP Pagenavi Addon – Better design for post pagination","1.2.4","Essential Plugin","https:\u002F\u002Fprofiles.wordpress.org\u002Fessentialplugin\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.essentialplugin.com\u002Fwordpress-plugin\u002Fstyles-wp-pagenavi-addon\u002F?utm_source=WP&utm_medium=Pagenavi&utm_campaign=Read-Me\" rel=\"nofollow ugc\">View here for more detail\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.essentialplugin.com\u002Fpricing\u002F?utm_source=WP&utm_medium=Pagenavi&utm_campaign=Read-Me\" rel=\"nofollow ugc\">Annual or Lifetime Bundle Deal\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Want to replace the old \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">←\u003C\u002Fspan> Older posts | Newer posts \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> links with some page links?\u003C\u002Fp>\n\u003Cp>This plugin adds a more styling options to Wp-PageNavi WordPress plugin OR  the_posts_pagination(); WordPress navigation function.\u003C\u002Fp>\n\u003Cp>To Use this plugin you must have \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-pagenavi\u002F\" rel=\"ugc\">Wp Pagenavi\u003C\u002Fa>  plugin installed on your wordpress blog\u003C\u002Fp>\n\u003Cp>\u003Cstrong>OR\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>If you are not using WP Pagenavi plugin\u003C\u002Fstrong> then use \u003Ccode>\u003C?php the_posts_pagination(); ?>\u003C\u002Fcode> WordPress navigation function and our plugin will help you to give a better design to your post navigation or post pagination.\u003C\u002Fp>\n\u003Ch4>Features include\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>5+ styles\u003C\u002Fli>\n\u003Cli>Colors change options \u003C\u002Fli>\n\u003Cli>Use it with Wp-PageNavi WordPress plugin or \u003Ccode>\u003C?php the_posts_pagination(); ?>\u003C\u002Fcode> WordPress navigation function and our plugin will help you to give a better design for post navigation or post pagination.\u003C\u002Fli>\n\u003C\u002Ful>\n","Adds a more styling options to Wp-PageNavi WordPress plugin OR  the_posts_pagination() WordPress navigation function.",1000,33648,40,1,"2026-02-20T19:20:00.000Z","6.8.5","7.4",[54,55,20,21,56],"navigation","pagenavi-style","wp-pagenavi-styling","https:\u002F\u002Fwww.essentialplugin.com\u002Fwordpress-plugin\u002Fstyles-wp-pagenavi-addon\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstyles-for-wp-pagenavi-addon.1.2.4.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":31,"downloaded":67,"rating":11,"num_ratings":68,"last_updated":69,"tested_up_to":70,"requires_at_least":16,"requires_php":24,"tags":71,"homepage":74,"download_link":75,"security_score":76,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"post-paging","Post Paging","1.0","Tomek","https:\u002F\u002Fprofiles.wordpress.org\u002Ftomek00\u002F","\u003Cp>Show next and previous post links at posts\u003C\u002Fp>\n","Show next and previous post links at posts",2676,2,"2015-03-23T14:58:00.000Z","4.1.42",[72,73,20,21,60],"next-and-previous-post","next-post-link","http:\u002F\u002Fwp-learning.net","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-paging.zip",85,{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":15,"requires_at_least":90,"requires_php":24,"tags":91,"homepage":94,"download_link":95,"security_score":96,"vuln_count":26,"unpatched_count":26,"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","4.6",[54,92,20,93],"pages","paging","https:\u002F\u002Flesterchan.net\u002Fportfolio\u002Fprogramming\u002Fphp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-pagenavi.2.94.5.zip",92,{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":107,"num_ratings":108,"last_updated":109,"tested_up_to":51,"requires_at_least":110,"requires_php":111,"tags":112,"homepage":118,"download_link":119,"security_score":11,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"load-more-products-for-woocommerce","Load More Products for WooCommerce","1.2.3.4","BeRocket","https:\u002F\u002Fprofiles.wordpress.org\u002Fberocket\u002F","\u003Cp>Load products from next page via AJAX with infinite scrolling or load more products button\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cp>✅ Infinite Scroll for WooCommerce Products\u003Cbr \u002F>\n✅ Load More Products Button or AJAX pagination\u003Cbr \u002F>\n✅ Custom button text\u003Cbr \u002F>\n✅ JavaScript hooks for custom code\u003C\u002Fp>\n\u003Ch4>Additional Features in Paid Plugin:\u003C\u002Fh4>\n\u003Cp>✅ Lazy Load for images\u003Cbr \u002F>\n✅ 40 Animations for Lazy Load\u003Cbr \u002F>\n✅ Customization for Load More Button\u003Cbr \u002F>\n✅ Customizable Loading Image\u003Cbr \u002F>\n✅ Different Products Load Type for Mobile Devices and Other\u003Cbr \u002F>\n✅ JavaScript Before and After AJAX Update\u003Cbr \u002F>\n✅ ‘Loading…’, ‘No more products’, etc messages customization\u003C\u002Fp>\n\u003Ch4>Plugin Links:\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberocket.com\u002Fwoocommerce-load-more-products\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=BeRocket_LMP\" rel=\"nofollow ugc\">Paid Plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwoocommerce-load-more.berocket.com\u002Fshop\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=BeRocket_LMP\" rel=\"nofollow ugc\">Demo 1\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwoocommerce-infinite-scroll.berocket.com\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=BeRocket_LMP\" rel=\"nofollow ugc\">Demo 2\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdocs.berocket.com\u002Fplugin\u002Fwoocommerce-load-more-products?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=BeRocket_LMP\" rel=\"nofollow ugc\">Docs\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>🍬 Wanna try admin side?\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberocket.com\u002Fwoocommerce-load-more-products\u002F?utm_source=wordpress_org&utm_medium=admin_demo&utm_campaign=BeRocket_LMP#try-admin\" rel=\"nofollow ugc\">Admin Demo\u003C\u002Fa> – Get access to this plugin’s admin and try it from inside. Change things and watch how they work.\u003C\u002Fp>\n\u003Ch4>Premium plugin video\u003C\u002Fh4>\n\u003Cp>\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\u002FZ5cIGNU0XNU?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>\u003Cbr \u002F>\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\u002FvH2wVvh20IA?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>\u003Cbr \u002F>\n\u003Cem>we don’t have video with free plugin right now but we are working on it\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Compatibility with WooCommerce plugins\u003C\u002Fh4>\n\u003Cp>Load More Products for WooCommerce has been tested and compatibility is certain with the following WooCommerce plugins that you can add to your site:\u003C\u002Fp>\n\u003Cp>🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce-ajax-filters\u002F\" rel=\"ugc\">\u003Cstrong>Advanced AJAX Product Filters\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadvanced-product-labels-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Advanced Product Labels for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgridlist-view-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Grid\u002FList View for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpagination-styler-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Pagination Styler for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-preview-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Product Preview for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwish-wait-list-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Wishlist and Waitlist for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>—\u003C\u002Fp>\n","Load products from next page via AJAX with infinite scrolling or load more products button",20000,403921,98,270,"2025-10-27T14:37:00.000Z","5.0","7.0",[113,114,115,116,117],"ajax-load-more","ajax-pagination","infinite-scroll","lazy-load","load-more","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fload-more-products-for-woocommerce\u002F?utm_source=free_plugin&utm_medium=plugins&utm_campaign=BeRocket_LMP","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fload-more-products-for-woocommerce.1.2.3.4.zip",{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":105,"downloaded":128,"rating":96,"num_ratings":129,"last_updated":130,"tested_up_to":15,"requires_at_least":24,"requires_php":24,"tags":131,"homepage":134,"download_link":135,"security_score":35,"vuln_count":68,"unpatched_count":26,"last_vuln_date":136,"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.",1023369,107,"2025-02-19T12:18:00.000Z",[54,132,133,20,121],"page","paginate","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-paginate\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-paginate.2.2.4.zip","2022-06-16 00:00:00",{"attackSurface":138,"codeSignals":179,"taintFlows":189,"riskAssessment":190,"analyzedAt":196},{"hooks":139,"ajaxHandlers":175,"restRoutes":176,"shortcodes":177,"cronEvents":178,"entryPointCount":26,"unprotectedCount":26},[140,146,150,153,156,160,165,168,172],{"type":141,"name":142,"callback":143,"file":144,"line":145},"action","init","closure","keep-pagination-in-same-taxonomy.php",21,{"type":141,"name":142,"callback":147,"priority":148,"file":144,"line":149},"load_admin",99,28,{"type":141,"name":151,"callback":152,"file":144,"line":34},"get_header","same_pagination",{"type":141,"name":154,"callback":152,"file":144,"line":155},"the_post",31,{"type":141,"name":157,"callback":158,"file":144,"line":159},"admin_init","settings_init",53,{"type":161,"name":162,"callback":163,"priority":31,"file":144,"line":164},"filter","get_next_post_join","filter_join_clause",159,{"type":161,"name":166,"callback":163,"priority":31,"file":144,"line":167},"get_previous_post_join",160,{"type":161,"name":169,"callback":170,"priority":31,"file":144,"line":171},"get_next_post_where","filter_where_clause",161,{"type":161,"name":173,"callback":170,"priority":31,"file":144,"line":174},"get_previous_post_where",162,[],[],[],[],{"dangerousFunctions":180,"sqlUsage":181,"outputEscaping":183,"fileOperations":26,"externalRequests":26,"nonceChecks":49,"capabilityChecks":49,"bundledLibraries":188},[],{"prepared":49,"raw":26,"locations":182},[],{"escaped":26,"rawEcho":49,"locations":184},[185],{"file":144,"line":186,"context":187},103,"raw output",[],[],{"summary":191,"deductions":192},"The plugin \"keep-pagination-in-same-taxonomy\" v0.15 exhibits a generally strong security posture based on the provided static analysis.  The absence of AJAX handlers, REST API routes, shortcodes, and cron events significantly limits its attack surface. The code also demonstrates good practices with the use of prepared statements for its single SQL query, a nonce check, and a capability check, indicating an awareness of common security vulnerabilities. There are no reported vulnerabilities in its history, which is a positive indicator. \n\nHowever, a significant concern arises from the output escaping. With 100% of its outputs not being properly escaped, this plugin presents a clear risk of Cross-Site Scripting (XSS) vulnerabilities. This means that any data displayed by the plugin, if it originates from user input or external sources, could potentially be manipulated to inject malicious scripts, which could then be executed by users visiting the affected pages. While the attack surface is small and there are no known CVEs, this single flaw is a critical oversight that could be exploited.",[193],{"reason":194,"points":195},"Outputs not properly escaped",7,"2026-03-16T21:00:05.070Z",{"wat":198,"direct":203},{"assetPaths":199,"generatorPatterns":200,"scriptPaths":201,"versionParams":202},[],[],[],[],{"cssClasses":204,"htmlComments":205,"htmlAttributes":206,"restEndpoints":214,"jsGlobals":215,"shortcodeOutput":216},[],[],[207,208,209,209,210,211,212,213,209,207,210,213,209,207,210],"name=\"KeepPaginationInSameTaxonomyPlugin[kpist_toggle]\"","name=\"KeepPaginationInSameTaxonomyPlugin[]\"","id=\"kpist_\"","value=\"true\"","value=\"any\"","value=\"all\"","name=\"KeepPaginationInSameTaxonomyPlugin[",[],[],[]]