Filter module

Real-time filtering for posts & WooCommerce.

Faceted, live filtering for any archive or listing — no page reload. Build a filter set with checkboxes, a price slider, search and sort, pull values from taxonomies, custom fields or WooCommerce, and place it with a shortcode, an Elementor widget, or a native Loop Grid. Results, per-option counts and active-filter chips update instantly.

Included in every plan No page reload
Shop filters
Category · Chairs
Price · €0–€400
Rating · 4★ & up
18 results
Results updated
Synced to URL
Real-time AJAXResults without a page reload
Posts & productsAny archive or listing
Shortcode, widget or Loop GridThree ways to place it
Everything a filter needs

From a shop sidebar to a blog archive

One builder handles the WooCommerce shop filter and the simple category picker — with the facet types, data sources and live UX that usually take a premium add-on.

Faceted filter UI

Build a filter set of facets — checkboxes, radios, a dropdown, a price slider, a search box, sort and a pager — and drop it beside any archive, like a shop sidebar.

Seven facet types

Checkbox and radio, dropdown, price / number slider, live search, sort and pager. Mix them freely in a single filter set.

Any data source

Pull values from any taxonomy — categories, tags, Woo attributes (pa_*) — plus custom fields, post type, author and date buckets.

Live counts & chips

Per-option counts, active-filter chips and the result count update the instant a visitor clicks — every interaction runs over AJAX.

URL-synced selection

The current filters are mirrored into the URL, so a filtered view is shareable, bookmarkable and works with the browser back button.

WooCommerce ready

Filter by price range (variable products included), stock status, on-sale and rating, and sort by price, rating or popularity.

Its own value index

A purpose-built index keeps filtering fast and auto-reindexes incrementally when content changes — with a batched rebuild from the admin.

Elementor & Loop Grid

Four Elementor widgets — Filter, Listing, Result Count and Active Filters — plus a one-switch integration with the native Loop Grid.

Place it anywhere

Three ways to drop it in

Shortcodes, Elementor widgets or a native Loop Grid — the same filter set works through any of them, on any theme.

Shortcodes

Drop [wpstack_filter name="…"] for the UI and [wpstack_listing] for the results anywhere a shortcode works — page builder, template or widget area.

Elementor widgets

Four widgets — Filter, Listing, Result Count and Active Filters — for pixel-perfect placement inside Elementor.

Loop Grid integration

Already using an Elementor Loop Grid? Flip a single switch and it becomes your live, filtered listing — no extra widget.

How it works

Live in minutes

Build the filter set, index your content once, and place it — no external service and no premium licence.

01

Build a filter set

Add facets, pick each one’s type and data source, and set AND / OR matching and options.

02

Build the index

Run a reindex once. After that the value index keeps itself in sync as your content changes.

03

Place it on a page

Add the shortcodes, the Elementor widgets, or enable it on a Loop Grid — and filter live.

The builder

Build a filter, drag to arrange

Add a facet, pick its type and where it pulls values from, and reorder by dragging. Each facet carries its own options — AND / OR matching, a hierarchical category tree, ghost (0-count) options and “show N more”.

  • Checkbox, radio, dropdown, slider, search, sort, pager
  • Any taxonomy, custom field, post type, author or date
  • AND / OR matching and a hierarchical tree
  • Ghost options and a “show N more” link
WPStackShop sidebar5
CategoryCheckboxTaxonomyOR
PriceSliderWooCommerce
RatingRadioWooCommerce
KeywordSearchTitle + content
Live UX

Instant results, shareable URLs

Every click refreshes the results grid, the per-option counts and the result count over AJAX — no reload. The selection shows as removable chips and is mirrored into the URL, so a filtered view can be shared or bookmarked.

  • Results & counts update instantly over AJAX
  • Per-option counts on every value
  • Active-filter chips with a “clear all”
  • Selection synced to the URL for the back button
WPStackActive filters18
Category · ChairsRemovable chip
18
Price · €0–€400Slider range
12
Synced to URL?category=chairs&max=400
live
Data sources

Filter by anything you store

A facet can read any taxonomy — categories, tags and WooCommerce attributes — or any custom field, plus post type, author and date buckets. Pair a custom-field facet with the Fields module and visitors filter your own data.

  • Taxonomy — categories, tags, Woo attributes (pa_*)
  • Custom fields — any post meta value
  • Post type, author and year / month date buckets
  • WooCommerce — price, stock, on-sale and rating
WPStackData source6
TaxonomyCategory · Brand
Custom fieldAny meta
DateYear · Month
WooCommercePrice · Rating
WooCommerce

A shop filter customers expect

Filter products by a price range that includes variable products, by stock status, by what’s on sale, and by rating — then sort by price, rating or popularity. Results render through your theme’s own product cards.

  • Price range, variable products included
  • Stock status, on-sale and rating facets
  • Sort by price, rating or popularity
  • Renders through the theme’s product cards
WPStackProduct filtersWoo
Price · €25–€180Variable products included
range
Rating · 4★ & up68 products
68
In stock · On saleAvailability & offers
84
Fast by design

Indexed for speed, tuned to taste

Filter builds its own value index and reindexes incrementally as content changes, so filtering stays fast. Choose instant or an “Apply filters” button, style the UI to match, and keep filtered URLs search-friendly.

  • Own value index with incremental auto-reindex
  • Instant, or a batched “Apply filters” button
  • Accent colour, sidebar or top-bar layout
  • Canonical + optional noindex on filtered URLs
WPStackReindex & settings82%
Index4,218 items · in sync
ModeInstantApply
SEOCanonicalnoindex
Drop it in

Two shortcodes, or four Elementor widgets

Place the filter UI and its results with a shortcode — or bind them into an Elementor design with the dedicated widgets and Loop Grid switch.

The filter UI

Render a filter set’s facets anywhere a shortcode works — beside your listing or in a widget area.

[wpstack_filter name="shop-sidebar"]

The results listing

Render the AJAX-filtered results grid the facets control — posts or WooCommerce products.

[wpstack_listing]
Elementor widgetsFilter, Listing, Result Count and Active Filters.
Loop Grid switchTurn any Loop Grid into a filtered listing.
Filter setsFacets, sources and options — all under WPStack → Filter.
Works with the stack

Better with the rest of WPStack

Filter plugs into the tools you already run, so visitors can narrow your content exactly where you need them to.

FieldsLet visitors filter by the custom field values you build with the Fields module.
WooCommercePrice, stock, on-sale and rating facets, rendered through your theme’s product cards.
ElementorFour widgets, plus native Loop Grid filtering with a single switch.
Any archivePosts, custom post types and product listings — drop the UI beside any of them.
WordPress6.0+ (6.5+ recommended)
PHP7.4+ (8.1+ recommended)
Facet types7 — selection, range & search
FilteringAJAX, from a built value index

Optional: WooCommerce for the price, stock, on-sale & rating facets · Elementor for the four widgets and Loop Grid switch. Filtering works on any theme, over AJAX.

FAQ

Filter, answered

No. Every interaction runs over AJAX against a built value index — the results grid, per-option counts, active-filter chips and the result count all refresh in place, and the selection is written to the URL.

Seven: checkbox and radio, a dropdown, a price / number slider, a live search box, a sort control and a pager. Add an active-filters chip strip too. Mix them freely in one filter set.

Any taxonomy (categories, tags, WooCommerce attributes pa_*), any custom field (meta), post type, author, date buckets (year / month), and WooCommerce price, stock, on-sale and rating.

No. Filter works on any posts or listings using taxonomies, custom fields, post type, author and date. WooCommerce is only needed for the price, stock, on-sale and rating facets — and its results render through your theme’s product cards.

Three ways: the [wpstack_filter] and [wpstack_listing] shortcodes; four Elementor widgets (Filter, Listing, Result Count, Active Filters); or by flipping the WPStack Filter switch on an Elementor Loop Grid.

Yes. Each option shows a live count of how many items it would return, the current selection appears as removable chips with a “clear all”, and the whole state is mirrored into the URL for shareable, back-button-friendly views.

Filter keeps its own value index so filtering stays fast without heavy queries. It reindexes incrementally when content changes, and you can run a batched full rebuild from the admin after bulk changes.

Filtered URLs get a canonical tag back to the base archive, with an optional noindex on filtered pages. A full accessibility pass adds keyboard operation, ARIA and managed focus.

Both. Choose Instant to refresh results the moment a facet changes, or the “Apply filters” button mode to batch several choices and apply them at once — handy on large catalogues.

Yes — like every WPStack module, Filter is included in every plan. Switch it on per project from the modules panel whenever you need it.

Stop juggling plugins. Start with WPStack.

One system for fields, filtering, forms, bookings, consent, logins and everything in between. Activate what you need today.

No credit card to explore the demo · Cancel anytime