Docs Product page Dashboard
Docs Content Filter

Filter

v1.0.9

Faceted, real-time filtering for posts & WooCommerce — no reload. Build a filter set with checkboxes, sliders, search and sort, pull values from taxonomies, custom fields or WooCommerce, and drop it onto any archive with a shortcode, an Elementor widget, or a native Loop Grid. A built value index keeps results, per-option counts and active-filter chips instant.

Included in every plan Updated August 2026

Overview

The Filter module adds a live, faceted filter UI — like a shop sidebar — to any archive or listing, with no page reload.

Build a filter set of facets, point them at your content, and place the UI on any archive. Visitors narrow posts and WooCommerce products by ticking values, dragging a price slider or typing a keyword — results, per-option counts and active-filter chips update instantly over AJAX, and the selection is mirrored into the URL so it is shareable and back-button friendly.

ActiveCategory: ChairsBrand: Nord€0–€400Clear all
18 resultsSort: Price ↑
Larch Lounge Chair
€320
Fjord Accent Chair
€280
Pike Dining Chair
€145
Vale Armchair
€390
Rowan Stool
€95
Sable Recliner
€360
The front-end filter UI — facets in a sidebar, active-filter chips, live per-option counts and an AJAX result grid.

What you can do

  • Add checkbox, radio, dropdown, slider, search, sort and pager facets
  • Pull values from any taxonomy, custom field, post type, author or date
  • Filter WooCommerce by price, stock, on-sale and rating
  • Show live counts, removable chips and an instant result count
  • Mirror the selection into a shareable URL with back-button support
  • Place it with a shortcode, an Elementor widget, or a Loop Grid
No page reloadFiltering runs over AJAX against a purpose-built value index, so results and counts refresh in place — the visitor never waits for a full page load.

Requirements & compatibility

Filter runs on any modern WordPress host; WooCommerce and Elementor are optional.

RequirementMinimumRecommended
WordPress6.06.5 or newer
PHP7.48.1 or newer
WooCommerceOptionalFor product, price, stock & rating facets
ElementorOptionalFor the four widgets & Loop Grid integration
ThemeAnyWoo results render through the theme’s product cards
Works with your themeWooCommerce results are rendered through your theme’s own product cards, so the filtered grid matches the rest of your shop.

Installation & activation

Filter ships inside WPStack — switch it on per site from the modules panel.

1

Open the WPStack modules panel

In your WordPress admin, go to WPStack → Modules and find Filter.

2

Activate Filter

Flip the Filter toggle to on. A new Filter item appears in the WPStack menu.

3

Build a filter set

Open WPStack → Filter → Add filter set, name it, and add facets.

4

Build the index

Run a reindex once so the value index is ready — after that it keeps itself in sync.

5

Place it on a page

Drop the [wpstack_filter] and [wpstack_listing] shortcodes, add the Elementor widgets, or enable it on a Loop Grid.

The filter builder

A filter set is a drag-and-drop list of facets. Each facet has a type, a data source and its own options.

Shop sidebar
Filter set builder — drag to reorder facets
Facets · Products
CategoryCheckboxTaxonomyOR
BrandCheckboxpa_brandOR
PriceSliderWooCommerce
RatingRadioWooCommerce
KeywordSearchTitle + content
SortSortPrice · Rating
Checkbox Add facet
The filter set builder — each facet shows its type and data source; drag the handle to reorder.

Per-facet options

  • Match mode — AND (all selected values) or OR (any selected value)
  • Hierarchical tree — show a category’s parent/child terms as a nested tree
  • Ghost options — optionally keep 0-count values visible but disabled
  • Show N more — collapse a long option list behind a “show more” link
AND vs ORSet each facet to AND to require every ticked value, or OR to match any of them — combine both across facets for precise faceted search.

Filter types

Eight facet types cover selection, ranges, search and result controls.

Choose a filter type
Eight facet types for any archive
Checkbox
Tick several values at once
Radio
Pick a single value
Dropdown
A compact select menu
Price / number slider
Drag a min–max range
Search box
Match a keyword live
Sort
Order the results
Pager
Page or load-more results
Active filters
Removable selection chips
The facet-type picker — checkbox, radio, dropdown, slider, search, sort, pager and active filters.
TypeWhat it does
CheckboxTick several values at once (AND / OR matching).
RadioChoose a single value from a list.
DropdownA compact select menu for long value lists.
Price / number sliderDrag a min–max range over a numeric field or price.
Search boxMatch a keyword against titles and content, live.
SortOrder results — price, rating, date, popularity and more.
PagerPage through, or load more, results.
Active filtersRemovable chips of the current selection.
Mix facet types freelyA single filter set can combine a category checkbox tree, a price slider, a keyword search box and a sort control — all working together.

Data sources

Each facet pulls its values from your content — taxonomies, meta, WooCommerce and more.

Facet data source
Where a facet pulls its values from
Taxonomy
Categories, tags & Woo attributes (pa_*)
Custom field
Any post meta value
Post type
Filter across content types
Author
Narrow by who published
Date
Year & month buckets
WooCommerce
Price, stock, on-sale & rating
Facet data sources — taxonomy, custom field, post type, author, date buckets and WooCommerce.
SourceValues it exposes
TaxonomyCategories, tags and WooCommerce attributes (pa_*).
Custom fieldAny post meta value, including WPStack Fields.
Post typeNarrow across one or more content types.
AuthorFilter by who published an item.
DateYear and month buckets from the publish date.
WooCommercePrice, stock status, on-sale and average rating.
Pairs with WPStack FieldsAdd a custom field facet to let visitors filter by the values you built with the Fields module — no extra glue code.

Live filtering & UX

Every interaction updates the page in place, with no reload.

  • Results and the result count refresh instantly over AJAX
  • Per-option counts show how many items each value would return
  • Active selections appear as removable chips, with a “clear all”
  • The selection is written to the URL query string as it changes
  • The browser back button restores a previous filter state
Shareable filtered viewsBecause the state lives in the URL, a filtered view can be bookmarked or shared, and it loads pre-filtered every time.

Placement

Put the filter UI and its results wherever you need them — three ways.

Placement
Shortcodes, Elementor widgets or a Loop Grid
Shortcodes
Filter UI
[wpstack_filter name="shop-sidebar"]
Results listing
[wpstack_listing]
Elementor widgets
Filter
Listing
Result Count
Active Filters
Elementor Loop Grid
Enable WPStack Filter
Flip one switch on any Loop Grid
Placement — the two shortcodes, the four Elementor widgets, and the Loop Grid switch.

Shortcodes

[wpstack_filter]

Render a filter set’s UI (its facets).

nameThe slug of the filter set to render.
[wpstack_listing]

Render the results grid the facets filter.

post_typeOptional — the post type or product listing to show.

Elementor widgets

  • Filter — the facet UI
  • Listing — the results grid
  • Result Count — a live “N results” counter
  • Active Filters — the removable selection chips

Elementor Loop Grid

Already using an Elementor Loop Grid? Flip a single Enable WPStack Filter switch on the grid and it becomes the filtered listing — no separate Listing widget needed.

Mix and matchUse the shortcodes in a page builder or template, or the widgets in Elementor — the same filter set works through any of them.

WooCommerce

Filter a shop the way customers expect — price, stock, offers, rating and sort.

WooCommerce filters
Price, stock, on-sale, rating & sort
Price range
€25Variable products included€180
Rating
& up32
& up68
& up91
Availability & offers
In stock84
On sale19
Featured7
Sort
Price: low to highTop ratedPopularity
WooCommerce facets — a price range (variable products included), rating, availability and sort.
FacetWhat it filters
Price rangeA min–max slider over product price, including variable products.
Stock statusIn stock, out of stock or on backorder.
On saleOnly products currently on sale.
RatingAverage star rating and up.
AttributesAny product attribute taxonomy (pa_*).
SortPrice, rating, popularity, newest and more.
Theme-native product cardsFiltered products render through your theme’s WooCommerce product cards, so the grid looks exactly like the rest of the shop.

Reindexing

Filter builds its own value index so filtering stays fast, and keeps it in sync automatically.

Reindex
The value index that powers fast filtering
4,218
Items indexed
11
Facets
2m ago
Last updated
Rebuild index
Batch 9 of 1182%
Rebuild nowRuns in the background, in batches
Automatic reindex
Reindex when content is saved
Incremental (changed items only)
Nightly full rebuild
Index health
Index is in sync — no items pending.
The Reindex screen — a batched rebuild, automatic incremental reindex and an index-health check.

Instead of querying meta and taxonomies on every request, Filter maintains a purpose-built value index. It auto-reindexes incrementally whenever content changes, and you can run a full batched rebuild from the admin at any time.

  • A dedicated value index powers fast, low-load filtering
  • Incremental reindex updates only the items that changed
  • A batched full rebuild runs in the background from the admin
  • An index-health check shows whether anything is pending
Rebuild after bulk changesAfter a bulk import or a change to which fields a facet uses, run a full rebuild once so the index reflects the new data.

Settings

Tune how filters look, when they apply, and how filtered URLs behave for SEO.

Settings
Styles, filtering mode & SEO
Styles
Accent colour
Layout
SidebarTop bar
Corners
Rounded
Filtering mode
Instant (as you click)Apply button (batch)
Update the URL as filters change
Show per-option counts
Show "ghost" (0-count) options
SEO
Canonical tag on filtered URLs
noindex filtered result pages
Accessible keyboard + ARIA mode
The Settings screen — styles, filtering mode (instant vs Apply button) and SEO options.
SettingTypeDefaultWhat it does
Accent & layoutstylesSidebarAccent colour, sidebar or top-bar layout, and corner style for the UI.
Filtering modeselectInstantApply filters instantly as they change, or batch them behind an “Apply filters” button.
Update URLtoggleOnMirror the current selection into the URL query string.
Per-option countstoggleOnShow how many items each value would return.
Ghost optionstoggleOffKeep 0-count values visible but disabled instead of hiding them.
SEOgroupCanonical tag and optional noindex on filtered result URLs.

Filtering mode

Choose Instant to refresh results the moment a facet changes, or the “Apply filters” button mode to let visitors stack several choices and apply them in one batch — handy on large catalogues or slow connections.

Style it to matchSet the accent colour, pick a sidebar or top-bar layout and a corner style so the filter UI matches your theme.

SEO & accessibility

Filtered URLs stay search-friendly, and the whole UI is keyboard- and screen-reader-ready.

SEO

Filtered result pages carry a canonical tag back to the base archive, and you can optionally add noindex to filtered URLs — so crawlers don’t index every filter combination while visitors still get shareable links.

Accessibility

A full accessibility pass adds keyboard operation, ARIA roles and states, and managed focus, so the filter UI works with a keyboard and assistive technology.

Indexed numeric rangesNumeric and price ranges are indexed, so slider facets filter large catalogues quickly without scanning every item at request time.

FAQ

No. Filtering runs over AJAX against a built value index — results, per-option counts and the result count update in place, and the selection is written to the URL for sharing and back-button support.

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.

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.

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 pages get a canonical tag back to the base archive, and you can optionally noindex filtered URLs — so crawlers stay on the canonical page while visitors keep shareable links.

Changelog

1.0.9
August 2026
newIndexed numeric ranges — price and number slider facets now filter from an index for fast range queries on large catalogues.
newSEO controls — canonical tag on filtered URLs and an optional noindex for filtered result pages.
new“Apply filters” button mode — batch several choices and apply them at once, alongside the existing instant mode.
newAccessibility pass — keyboard operation, ARIA roles/states and managed focus across the whole filter UI.
1.0.0
August 2026
newLive, real-time AJAX faceted filtering for posts and WooCommerce products.
newFacet types — checkbox, radio, dropdown, price/number slider, search, sort and pager.
newData sources — taxonomy, custom field, post type, author, date buckets and WooCommerce.
newLive per-option counts, active-filter chips and a URL-synced selection.
newPlacement via shortcodes, four Elementor widgets and native Loop Grid integration.
newA built value index with automatic incremental reindex and a batched admin rebuild.
Was this page helpful?