Releases: SagirisWebDev/wc-live-category-filter
Release list
v1.0.1 — pagination behaviour disclosure
Patch release. Pure admin-side disclosure — no filtering, chip-rendering, or WP_Query behaviour changes from v1.0.0.
What changed
Settings → WC Live Category Filter now shows an inline notice under the "Activate on" section that calls out:
Heads-up: pagination is disabled on archives where the chip filter is active. Instant multi-select needs every product loaded up front so the JavaScript layer can toggle cards locally — pagination would scatter matches across pages and break OR-combining chips. WooCommerce's per-page setting and the pagination links are intentionally suppressed on these archives. If pagination matters more than instant filtering for a given archive, leave it unchecked here and use the
[wclcf_filter_grid]shortcode on a dedicated landing page instead.
Why
The plugin has always set posts_per_page = -1 on activated archives so the JS reducer can do instant client-side filtering against the full result set. Before this release admins had no way to discover why their "Products per page" customizer setting wasn't taking effect on the shop archive — the behaviour was correct, the disclosure wasn't.
Upgrade
Drop-in. Pull the new version, no settings need to change, no data migration.
Compatibility
- PHP: 8.0+
- WordPress: 6.0+
- WooCommerce: must be active
Unchanged from v1.0.0.
Test totals
166/166 PHPUnit + 51/51 node:test + 60/60 Playwright. Zero regressions from v1.0.0.
v1.0.0 — first stable release
First stable release of WooCommerce Live Category Filter — a multi-select category chip filter that sits above the WooCommerce product grid and lets shoppers narrow by tapping multiple chips at once.
All ten implementation slices from the original PRD (#1) have shipped: skeleton + WooCommerce dependency guard, server-side ?cats= filtering, no-JS chip row, live JS reducer + DOM adapter, counts + Clear-all pill + checkmark active state, client-side sort, settings page + category-page chip highlight, visible/reorder controls, show-counts toggle, and the [wclcf_filter_grid] shortcode.
What's in the box
For customers
- A row of category chips above the product grid (e.g.
Pork (3),Beef (11),Chicken (12)). - Tap chips to combine — chicken + beef shows the union, not the intersection.
- Filtering is instant. All products preload on the page; the JS layer toggles a
hiddenattribute on cards as chips fire. No request round-trips per click. - URL stays in sync (
?cats=pork,noodles) so filtered views are shareable and the browser back button works. - Mobile chip row wraps to multiple lines instead of scrolling sideways.
- Active chips fill with color and show a ✓ — color-blind-friendly: both signals are independent.
- A "Clear all" pill appears whenever at least one chip is active.
- WooCommerce's native sort dropdown still works and sorts only the visible (filtered) cards.
- Works with JavaScript disabled — the server respects
?cats=directly viapre_get_postsand renders the filtered grid server-side. The filtered view is real and indexable, not a JS-only illusion.
For site owners
- Install, activate, the Shop page just works.
Settings → WC Live Category Filterexposes:- Archive activation toggles (Shop, Product Category, Product Tag).
- Per-category visibility checkboxes — uncheck a category to hide its chip.
- Up/down reorder buttons — control which categories appear first.
- Show-counts toggle — global on/off for the
(N)suffix.
[wclcf_filter_grid]shortcode embeds the same chip row + grid on any page or post, not just archives. The Settings page includes a Shortcode reference section.- New categories added in WooCommerce auto-appear as chips until you deselect them — no need to revisit the plugin settings every time the catalog grows.
- Activation gate: if WooCommerce isn't active, the plugin refuses to boot its frontend integration and shows an admin notice. No fatal errors.
For theme developers
- Six CSS custom properties on the chip row let you override the palette without forking:
--wclcf-chip-bg,--wclcf-chip-fg,--wclcf-chip-border--wclcf-chip-active-bg,--wclcf-chip-active-fg,--wclcf-chip-hover-bg
Installation
From this release
- Download
Source code (zip)below. - In WP admin:
Plugins → Add New → Upload Plugin → Choose File. - Select the zip, click Install Now, then Activate.
From source
git clone https://github.com/SagirisWebDev/wc-live-category-filter.git \
wp-content/plugins/wc-live-category-filter
cd wp-content/plugins/wc-live-category-filter
composer install --no-devThen activate from the WP admin Plugins screen.
Compatibility
- PHP: 8.0+
- WordPress: 6.0+
- WooCommerce: must be active
Known v1 limitations
- Single shortcode instance per page. Multi-instance support was explicitly excluded from v1 scope.
- Sort-by dropdown is not wired on shortcode pages.
Cards::emit_card_data_jsonhookswoocommerce_after_shop_loopwhich doesn't fire from inside the shortcode loop. Archive pages have the sort dropdown; shortcode-hosted pages don't yet.
Test totals at release
- 166/166 PHPUnit
- 51/51 node:test
- 60/60 Playwright e2e
Zero known regressions.
Acknowledgements
Built end-to-end with Claude Code following a TDD red-green-refactor loop, one PRD slice per commit.