{"id":53305,"date":"2016-12-29T17:38:15","date_gmt":"2016-12-29T17:38:15","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/products-per-page-for-woocommerce\/"},"modified":"2025-11-18T16:25:10","modified_gmt":"2025-11-18T16:25:10","slug":"products-per-page-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/cy.wordpress.org\/plugins\/products-per-page-for-woocommerce\/","author":18216844,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.5.3","stable_tag":"2.5.3","tested":"6.8.5","requires":"4.4","requires_php":"","requires_plugins":null,"header_name":"Number of Products per Page - Pagination Manager for WooCommerce","header_author":"WPFactory","header_description":"","assets_banners_color":"c5d7f1","last_updated":"2025-11-18 16:25:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpfactory.com\/item\/products-per-page-woocommerce\/","header_author_uri":"https:\/\/wpfactory.com","rating":5,"author_block_rating":0,"active_installs":1000,"downloads":33054,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"algoritmika","date":"2017-01-02 19:49:31"},"1.1.0":{"tag":"1.1.0","author":"algoritmika","date":"2017-01-16 13:43:25"},"1.1.1":{"tag":"1.1.1","author":"algoritmika","date":"2017-07-23 14:33:04"},"1.2.0":{"tag":"1.2.0","author":"algoritmika","date":"2019-10-29 14:36:29"},"1.3.0":{"tag":"1.3.0","author":"algoritmika","date":"2020-04-07 15:23:56"},"1.3.1":{"tag":"1.3.1","author":"algoritmika","date":"2020-10-13 21:37:19"},"1.3.2":{"tag":"1.3.2","author":"algoritmika","date":"2020-12-22 17:22:00"},"1.4.0":{"tag":"1.4.0","author":"algoritmika","date":"2021-03-23 21:38:34"},"1.5.0":{"tag":"1.5.0","author":"algoritmika","date":"2021-03-25 10:47:37"},"1.6.0":{"tag":"1.6.0","author":"algoritmika","date":"2021-09-07 19:14:07"},"2.0.0":{"tag":"2.0.0","author":"algoritmika","date":"2021-09-23 22:29:11"},"2.0.1":{"tag":"2.0.1","author":"algoritmika","date":"2022-01-18 20:23:10"},"2.1.0":{"tag":"2.1.0","author":"wpcodefactory","date":"2022-02-08 15:31:30"},"2.1.1":{"tag":"2.1.1","author":"wpcodefactory","date":"2022-05-18 20:42:23"},"2.1.2":{"tag":"2.1.2","author":"wpcodefactory","date":"2023-06-18 16:15:21"},"2.1.3":{"tag":"2.1.3","author":"wpcodefactory","date":"2023-09-26 06:14:44"},"2.1.4":{"tag":"2.1.4","author":"wpcodefactory","date":"2023-10-03 16:03:34"},"2.2.0":{"tag":"2.2.0","author":"wpcodefactory","date":"2024-02-19 16:41:42"},"2.2.1":{"tag":"2.2.1","author":"wpcodefactory","date":"2024-07-31 05:32:58"},"2.3.0":{"tag":"2.3.0","author":"wpcodefactory","date":"2024-10-29 14:25:41"},"2.3.1":{"tag":"2.3.1","author":"wpcodefactory","date":"2024-10-30 19:42:08"},"2.4.0":{"tag":"2.4.0","author":"wpcodefactory","date":"2025-01-10 17:52:23"},"2.5.0":{"tag":"2.5.0","author":"wpcodefactory","date":"2025-04-29 06:50:29"},"2.5.1":{"tag":"2.5.1","author":"wpcodefactory","date":"2025-07-10 11:21:26"},"2.5.2":{"tag":"2.5.2","author":"wpcodefactory","date":"2025-09-11 17:29:53"},"2.5.3":{"tag":"2.5.3","author":"wpcodefactory","date":"2025-11-18 16:25:10"}},"upgrade_notice":{"1.0.0":"<p>This is the first release of the plugin.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":7},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2971631,"resolution":"128x128","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":2971631,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2971631,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2971631,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.5.0","1.6.0","2.0.0","2.0.1","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.2.0","2.2.1","2.3.0","2.3.1","2.4.0","2.5.0","2.5.1","2.5.2","2.5.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Number of Products per Page - Pagination Manager for WooCommerce - Frontend example"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[282,66528,286],"plugin_category":[45],"plugin_contributors":[78783,80665,178791,189606],"plugin_business_model":[216238],"class_list":["post-53305","plugin","type-plugin","status-publish","hentry","plugin_tags-ecommerce","plugin_tags-products-per-page","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-anbinder","plugin_contributors-karzin","plugin_contributors-omardabbas","plugin_contributors-wpcodefactory","plugin_business_model-commercial","plugin_committers-algoritmika","plugin_committers-wpcodefactory","plugin_support_reps-karzin","plugin_support_reps-tahaamin"],"banners":{"banner":"https:\/\/ps.w.org\/products-per-page-for-woocommerce\/assets\/banner-772x250.png?rev=2971631","banner_2x":"https:\/\/ps.w.org\/products-per-page-for-woocommerce\/assets\/banner-1544x500.png?rev=2971631","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/products-per-page-for-woocommerce\/assets\/icon.svg?rev=2971631","icon":"https:\/\/ps.w.org\/products-per-page-for-woocommerce\/assets\/icon.svg?rev=2971631","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Number of Products per Page - Pagination Manager for WooCommerce<\/strong> plugin lets you add <strong>products per page selector<\/strong> to the frontend of your WooCommerce store.<\/p>\n\n<h3>&#9989; Main Features<\/h3>\n\n<ul>\n<li>Multiple and customizable <strong>frontend positions<\/strong> (before products, after products, custom positions, etc.).<\/li>\n<li>Display selector anywhere on your site with the <code>[alg_wc_products_per_page]<\/code> <strong>shortcode<\/strong>. This is especially useful when using <strong>visual builders<\/strong>, e.g., Elementor.<\/li>\n<li><strong>Template options<\/strong>: template, selector class and style, before and after HTML.<\/li>\n<li>Output selector as a <strong>dropdown box<\/strong> or as <strong>radio buttons<\/strong>.<\/li>\n<li>Option to enable\/disable <strong>cookie<\/strong>.<\/li>\n<li>Plugin is <strong>WPML<\/strong> and <strong>Polylang<\/strong> compatible.<\/li>\n<li>And more...<\/li>\n<\/ul>\n\n<h3>&#127942; Premium Version<\/h3>\n\n<p><a href=\"https:\/\/wpfactory.com\/item\/products-per-page-woocommerce\/\">Number of Products per Page - Pagination Manager for WooCommerce Pro<\/a> plugin version includes:<\/p>\n\n<ul>\n<li>Customizable <strong>select options<\/strong>.<\/li>\n<li>\"Products per Page\" <strong>widget<\/strong>.<\/li>\n<\/ul>\n\n<h3>&#128472; Feedback<\/h3>\n\n<ul>\n<li>We are open to your suggestions and feedback. Thank you for using or trying out one of our plugins!<\/li>\n<li><a href=\"https:\/\/wpfactory.com\/item\/products-per-page-woocommerce\/\">Visit plugin site<\/a>.<\/li>\n<\/ul>\n\n<h3>&#8505; More<\/h3>\n\n<ul>\n<li>The plugin is <strong>\"High-Performance Order Storage (HPOS)\"<\/strong> compatible.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the entire plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>Start by visiting plugin settings at \"WPFactory &gt; Products per Page\".<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>2.5.3 - 18\/11\/2025<\/h4>\n\n<ul>\n<li>Fix - Apply shortcodes early in the <code>template<\/code> (for the <code>[alg_wc_ppp_translate]<\/code> shortcode).<\/li>\n<li>Dev - WPFactory Recommendations - Library updated (to v1.0.6).<\/li>\n<li>Dev - Coding standards improved.<\/li>\n<li>WC tested up to: 10.3.<\/li>\n<\/ul>\n\n<h4>2.5.2 - 11\/09\/2025<\/h4>\n\n<ul>\n<li>WC tested up to: 10.1.<\/li>\n<\/ul>\n\n<h4>2.5.1 - 10\/07\/2025<\/h4>\n\n<ul>\n<li>Dev - WPFactory Admin Menu - Library updated.<\/li>\n<li>Dev - WPFactory Admin Menu - Plugin icon added.<\/li>\n<li>WC tested up to: 9.9.<\/li>\n<\/ul>\n\n<h4>2.5.0 - 29\/04\/2025<\/h4>\n\n<ul>\n<li>Fix - Translation loading fixed.<\/li>\n<li>Dev - Security - Output escaped.<\/li>\n<li>Dev - Key Manager - Library updated.<\/li>\n<li>WC tested up to: 9.8.<\/li>\n<li>Tested up to: 6.8.<\/li>\n<\/ul>\n\n<h4>2.4.0 - 10\/01\/2025<\/h4>\n\n<ul>\n<li>Dev - Security - Output escaped.<\/li>\n<li>Dev - Security - Input sanitized.<\/li>\n<li>Dev - Recommendations - Library updated.<\/li>\n<li>Dev - Key Manager - Library updated.<\/li>\n<li>Dev - Composer - <code>autoloader-suffix<\/code> param added.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>Dev - Coding standards improved.<\/li>\n<li>WC tested up to: 9.5.<\/li>\n<li>Tested up to: 6.7.<\/li>\n<li>Plugin name updated.<\/li>\n<\/ul>\n\n<h4>2.3.1 - 30\/10\/2024<\/h4>\n\n<ul>\n<li>Dev - Code refactoring.<\/li>\n<\/ul>\n\n<h4>2.3.0 - 29\/10\/2024<\/h4>\n\n<ul>\n<li>Dev - Plugin settings moved to the \"WPFactory\" menu.<\/li>\n<li>Dev - \"Recommendations\" added.<\/li>\n<li>Dev - \"Key Manager\" added.<\/li>\n<li>Dev - <code>alg-wc-products-per-page-form<\/code> HTML class added.<\/li>\n<li>Dev - WooCommerce \"Pagination\" template updated.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>WC tested up to: 9.3.<\/li>\n<\/ul>\n\n<h4>2.2.1 - 31\/07\/2024<\/h4>\n\n<ul>\n<li>WC tested up to: 9.1.<\/li>\n<li>Tested up to: 6.6.<\/li>\n<li>WooCommerce added to the \"Requires Plugins\" (plugin header).<\/li>\n<\/ul>\n\n<h4>2.2.0 - 19\/02\/2024<\/h4>\n\n<ul>\n<li>Dev - PHP 8.2 compatibility - \"Creation of dynamic property is deprecated\" notice fixed.<\/li>\n<li>Dev \u2013 \"High-Performance Order Storage (HPOS)\" compatibility.<\/li>\n<li>WC tested up to: 8.6.<\/li>\n<li>Tested up to: 6.4.<\/li>\n<\/ul>\n\n<h4>2.1.4 - 03\/10\/2023<\/h4>\n\n<ul>\n<li>Plugin author updated.<\/li>\n<\/ul>\n\n<h4>2.1.3 - 26\/09\/2023<\/h4>\n\n<ul>\n<li>WC tested up to: 8.1.<\/li>\n<li>Tested up to: 6.3.<\/li>\n<li>Plugin icon, banner updated.<\/li>\n<\/ul>\n\n<h4>2.1.2 - 18\/06\/2023<\/h4>\n\n<ul>\n<li>WC tested up to: 7.8.<\/li>\n<li>Tested up to: 6.2.<\/li>\n<\/ul>\n\n<h4>2.1.1 - 18\/05\/2022<\/h4>\n\n<ul>\n<li>Dev - Developers - <code>alg_wc_products_per_page_replace_pagination_template<\/code> filter added.<\/li>\n<li>WC tested up to: 6.5.<\/li>\n<\/ul>\n\n<h4>2.1.0 - 08\/02\/2022<\/h4>\n\n<ul>\n<li>Dev - Advanced - \"Scopes\" options added.<\/li>\n<li>Dev - Advanced - \"Apply in WooCommerce shortcodes\" option added (defaults to <code>yes<\/code>).<\/li>\n<li>Dev - GitHub deploy script added.<\/li>\n<li>Tested up to: 5.9.<\/li>\n<li>WC tested up to: 6.1.<\/li>\n<\/ul>\n\n<h4>2.0.1 - 18\/01\/2022<\/h4>\n\n<ul>\n<li>Dev - Save in session - Additional safe-checks added.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>WC tested up to: 6.0.<\/li>\n<\/ul>\n\n<h4>2.0.0 - 23\/09\/2021<\/h4>\n\n<ul>\n<li>Dev - Template Options - Template - <code>%radio%<\/code> placeholder (and \"Radio glue\" option) added.<\/li>\n<li>Dev - Template Options - Template - <code>%select_form%<\/code> placeholder renamed to <code>%dropdown%<\/code> (<code>%select_form%<\/code> is still supported though).<\/li>\n<li>Dev - Position Options - \"Before pagination\" and \"After pagination\" positions added (compatible with the \"Product Filters for WooCommerce\" plugin (https:\/\/woocommerce.com\/products\/product-filters\/)).<\/li>\n<li>Dev - Advanced Options - \"Custom CSS\" option added.<\/li>\n<li>Dev - Advanced Options - Form method - GET - Passing all URL params via hidden fields now.<\/li>\n<li>Dev - Advanced Options - \"Save in session\" options added (defaults to <code>yes<\/code>). I.e., storing selected \"products per page\" value in session as well now.<\/li>\n<li>Dev - WooCommerce <code>[products]<\/code> shortcode compatibility added.<\/li>\n<li>Dev - Cookie is (maybe) set on the <code>init<\/code> action now.<\/li>\n<li>Dev - Not escaping the current URL in \"products per page\" form now.<\/li>\n<li>Dev - All admin settings input is properly sanitized now.<\/li>\n<li>Dev - Admin settings descriptions updated.<\/li>\n<li>Dev - Admin settings rearranged: \"Advanced\" section added.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>WC tested up to: 5.7.<\/li>\n<\/ul>\n\n<h4>1.6.0 - 03\/09\/2021<\/h4>\n\n<ul>\n<li>Dev - \"JetWooBuilder For Elementor\" plugin (by Crocoblock) compatibility added.<\/li>\n<li>Dev - Plugin is initialized on the <code>plugins_loaded<\/code> action now.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>Tested up to: 5.8.<\/li>\n<li>WC tested up to: 5.6.<\/li>\n<\/ul>\n\n<h4>1.5.0 - 25\/03\/2021<\/h4>\n\n<ul>\n<li>Dev - Ensuring that HTML <code>id<\/code> attribute for the <code>select<\/code> tag is unique (in case if multiple \"products per page\" forms are displayed on the same page).<\/li>\n<li>Dev - Position Options - \"Position priority\" is now separate for each position.<\/li>\n<li>Dev - Position Options - Custom position(s) - Now allows setting priority (with vertical bar <code>|<\/code>).<\/li>\n<li>Dev - Position Options - \"Widget\" option added.<\/li>\n<li>Dev - Advanced Options - \"Form method\" option added (defaults to <code>POST<\/code>).<\/li>\n<li>Dev - Shortcodes - <code>[alg_wc_products_per_page]<\/code> (and <code>[alg_wc_ppp_form]<\/code> alias) shortcode added.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<\/ul>\n\n<h4>1.4.0 - 23\/03\/2021<\/h4>\n\n<ul>\n<li>Dev - Position Options - Position(s) - New positions added: \"Before main content\", \"In archive description\" and \"After main content\".<\/li>\n<li>Dev - Position Options - \"Custom position(s)\" option added.<\/li>\n<li>Dev - Localisation - <code>load_plugin_textdomain()<\/code> to move to the <code>init<\/code> hook.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>Dev - Admin settings restyled; descriptions updated.<\/li>\n<li>Tested up to: 5.7.<\/li>\n<li>WC tested up to: 5.1.<\/li>\n<\/ul>\n\n<h4>1.3.2 - 22\/12\/2020<\/h4>\n\n<ul>\n<li>Dev - <code>[alg_wc_ppp_translate]<\/code> shortcode added. Shortcodes are now processed when outputting the \"products per page\" form.<\/li>\n<li>Tested up to: 5.6.<\/li>\n<li>WC tested up to: 4.8.<\/li>\n<\/ul>\n\n<h4>1.3.1 - 13\/10\/2020<\/h4>\n\n<ul>\n<li>Fix - Checking if any products will be displayed before outputting the \"products per page\" form (e.g., fixes the issue when only subcategories are displayed).<\/li>\n<li>Tested up to: 5.5.<\/li>\n<li>WC tested up to: 4.5.<\/li>\n<\/ul>\n\n<h4>1.3.0 - 07\/04\/2020<\/h4>\n\n<ul>\n<li>Fix - Admin \"reset settings\" notice fixed.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>Dev - Admin settings descriptions updated.<\/li>\n<li>Tested up to: 5.4.<\/li>\n<li>WC tested up to: 4.0.<\/li>\n<\/ul>\n\n<h4>1.2.0 - 29\/10\/2019<\/h4>\n\n<ul>\n<li>Fix - Correctly removing page num for pretty permalinks now.<\/li>\n<li>Fix - Template Options - Template - <code>%select_form%<\/code> fixed.<\/li>\n<li>Dev - Template Options - \"Select class\", \"Select style\", \"Before HTML\" and \"After HTML\" options added.<\/li>\n<li>Dev - Advanced Options - \"Enable cookie\" and \"Cookie expiration time\" options added.<\/li>\n<li>Dev - Code refactoring.<\/li>\n<li>Dev - Admin settings restyled; descriptions updated.<\/li>\n<li>Dev - Plugin URI updated.<\/li>\n<li>WC tested up to: 3.7.<\/li>\n<li>Tested up to: 5.2.<\/li>\n<\/ul>\n\n<h4>1.1.1 - 23\/07\/2017<\/h4>\n\n<ul>\n<li>Dev - POT file added.<\/li>\n<li>Dev - Link updated.<\/li>\n<li>Dev - Plugin header (\"Text Domain\" etc.) updated.<\/li>\n<\/ul>\n\n<h4>1.1.0 - 16\/01\/2017<\/h4>\n\n<ul>\n<li>Fix - \"Is plugin enabled\" check fixed.<\/li>\n<li>Dev - \"Reset Section Settings\" added.<\/li>\n<li>Tweak - Donate link added.<\/li>\n<\/ul>\n\n<h4>1.0.0 - 29\/12\/2016<\/h4>\n\n<ul>\n<li>Initial Release.<\/li>\n<\/ul>","raw_excerpt":"Products per page selector for WooCommerce.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/53305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=53305"}],"author":[{"embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpcodefactory"}],"wp:attachment":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=53305"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=53305"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=53305"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=53305"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=53305"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=53305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}