Twelve per page, then click. Twelve more, then click again.
The default 12-per-page splits a 240-product catalog into 20 paginated views. Most shoppers bail before page 4. Letting them ask for 48 or 96 in one click keeps them browsing.
Twelve, twenty-four, forty-eight, or show me the whole catalog.
Add a Products-Per-Page selector to your shop and category archives. Dropdown or radio buttons, your own list of values, optional Show All, remembers each shopper's choice, drops anywhere via shortcode. $49.99/yr or $149 once.
Out of the box, WooCommerce locks every archive to a single per-page count set in the Customizer. The moment your shop runs more than one category, or your customers browse on more than one device, or your traffic spikes from a curated catalog, that one number stops working for everybody.
The default 12-per-page splits a 240-product catalog into 20 paginated views. Most shoppers bail before page 4. Letting them ask for 48 or 96 in one click keeps them browsing.
A single global "products per page" number can't serve a thumb-scrolling shopper and a fast-clicking buyer with a 27-inch monitor. Letting each shopper pick a value, and remembering it, fixes both at once.
Curated collections under 100 SKUs are the perfect "one page, scroll, decide" case. A Show All option turns a 6-page navigation puzzle into a single scroll.
The plugin handles four jobs: render the selector (dropdown or radio), define which values it offers (12, 24, 48, All, or anything you list), place it where you need (before or after the listings, or by shortcode anywhere), and remember each shopper's choice via cookie.
Switch any time. Customer choice carries across formats. Radio buttons are the Pro-only flavor.
Type a comma-separated list. -1 renders as "All". Labels are customizable per value.
Cookie lifetime is configurable. Pro feature; the free plugin remembers within a single session only.
Customer's choice carries across languages. No re-pick when they switch the language flag.
Shortcode renders the same way in every builder. No vendor-specific add-on required.
Upload the .zip from Plugins > Add New, then activate.
Pick the input style. Dropdown is compact; radio is one-tap friendly on mobile. Switch any time.
Comma-separated values: 12, 24, 48, -1. -1 renders as "All". Labels override the defaults.
Before listings, after, both. Or paste [alg_wc_products_per_page] into your builder for any custom placement.
WooCommerce native · single value |
FmeAddons $29/yr · no lifetime |
Booster (Elite) from $149/yr · no lifetime |
WPFactory $49.99/yr · $149 once |
|
|---|---|---|---|---|
| core: the selector itself | ||||
| Dropdown selector | ✕ | ✓ | ✓ | ✓ |
| Radio-button selector | ✕ | ✕ | ✕ | ✓ |
| Custom per-page value list | ✕ | ✓ | ✓ | ✓ |
| Show-all option (one page) | ✕ | not specified | not specified | ✓ |
| placement | ||||
| Before listings | - | ✓ | ✓ | ✓ |
| After listings | - | ✓ | ✓ | ✓ |
| Before + after (both) | - | ✓ | not specified | ✓ |
| Shortcode for placement anywhere | ✕ | ✕ | ✕ | ✓ [alg_wc_products_per_page] |
| remembering customer choice | ||||
| Cookie persists across visits | ✕ | ✓ | not specified | ✓ |
| Configurable cookie lifetime | ✕ | ✕ | ✕ | ✓ |
| Per-category default override | ✕ | ✕ | ✕ | ✓ |
| page builders & translation | ||||
| Elementor / Divi / Bricks ready | ✕ | not specified | not specified | ✓ |
| WPML + Polylang | ✕ | not specified | ✓ | ✓ |
| HPOS-ready | - | not specified | ✓ | ✓ |
| pricing & ownership | ||||
| Free version on .org | - | ✕ | ✓ | ✓ |
| Lifetime tier | - | ✕ | ✕ | ✓ $149 unlimited sites |
| Multi-store licensing | - | per-site | per-site | ✓ unlimited sites |
| 10-year cost | $0 | ~$290 | ~$1,490 | $149 |
| 50+ plugins (All Access) | - | ✕ | ✕ | ✓ $499 |
|
Ready to let shoppers pick their own pace? ↓
Jump to pricing
|
||||
An online bookshop with 800 titles set the default to 12 per page (keeps the homepage and category covers prominent) but added 24, 48, and 96 as opt-in values. Power-readers who arrived from a Twitter recommendation pick 96 once, the cookie remembers it, and they browse the whole new-fiction shelf without clicking pagination.
Pages-per-session up 38%. Bounce on the new-fiction category fell from 62% to 41%.
A leather-goods brand runs limited "drops" of 30 to 60 pieces. The default WooCommerce 12-per-page made each drop feel paginated and small. Switching to radio buttons with a Show All option, defaulted to All for the drop categories via a per-category override, turned every drop into a single-scroll lookbook.
Add-to-cart on drop pages rose 27%. Customers stopped emailing "is there a page 2?".
An auto-parts shop has 12,000 SKUs across 60+ categories. Mobile shoppers (mostly contractors looking up one part) need fast loads at 12 per page. Desktop shoppers (workshop owners ordering multiple parts) want 48 or 96 to scan model variants side by side. Each visit gets the count that shopper picked last time, on that device.
Average session went from 4.2 to 7.1 page views. The "page 2" support ticket queue cleared.
Using the plugin? Leave a review on WordPress.org.
"Simple, does exactly what it says. Customers can finally pick how many they want to see. Drop-off on the catalog page is way down."see review →
"Works perfectly with my DIVI theme. The shortcode let me put the selector in my custom shop header. Support replied within a day."see review →
"Best of the three I tried. The All option and custom values were the deal-breakers; the others made me pick from a fixed list."see review →
Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.
One filter on WooCommerce's product query, one shortcode, one small form. No extra database tables, no client-side framework. The plugin is small on purpose.
Every shortcode attribute is documented, plus the filters that let you override the default per category or set a different format on a specific archive.
Reviews on .org call out the team adding requested features during the trial window. Real bug reports become releases within days, not quarters.
14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If the selector doesn't fit your archive layout, support helps; if it still doesn't fit, you walk away whole.
All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.
v2.5.4 shipped recently. Tested against the latest WooCommerce within days of every release. HPOS-ready, PHP 8.3 compatible.
Works alongside WooCommerce Blocks, WPML, Polylang, Yoast, the major page builders, and Subscriptions. Filters exposed for the per-page count, the selector values, the cookie name and lifetime.
You don't need to know what loop_shop_per_page is. Pick a format from a dropdown, type your values, save. The plugin wires the rest into WooCommerce for you.
This is what you see inside WordPress once the plugin is activated.
14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.
Buy once. Owns itself by year 3. Use on every site you own.
This plugin + 49 others, lifetime updates, unlimited sites - for $300 more than Lifetime alone.
-1, which tells WooCommerce to return every product in the current archive on a single page. Great for stores with under a few hundred SKUs. We recommend keeping it as an opt-in, not the default, on large catalogs.[alg_wc_products_per_page] shortcode in a template, a page builder block, or a sidebar widget. The shortcode renders the same selector your customers already use elsewhere.Dropdown or radio buttons. Any per-page values you want. Show All. Cookie that remembers. Shortcode placement. WPML, Polylang, Elementor, Divi, Bricks all ready. 1,300+ stores already running it. 14-day refund if it's not for you.
1,300+ stores · 5.0★ across 8 reviews · WordPress.org plugin · 14-day refund