The most complete
filter engine for
Bricks Builder
15 AJAX filter elements that connect to any Bricks Query Loop. Taxonomy, meta and WooCommerce filters. Indexed, cached, URL-synced — for any CPT or WooCommerce archive.
15 dedicated elements
in Bricks Builder
Every filter UI component registered natively — drag, drop and configure inside Bricks. No shortcodes.
Connect filters to
any Query Loop
Add a filter container to any Bricks page, connect it to your listing element via a CSS selector, then add individual filter elements inside. Every filter interaction triggers an AJAX refresh — no page reload, URL synced, browser history intact.
Add filter container
Place the Filter Container element on the page. Set the target selector to your Bricks Query Loop wrapper — e.g. .my-listing.
Add filter elements inside
Drag any of the 15 filter elements into the container. Configure each filter — choose the taxonomy, meta key or WooCommerce attribute to filter by.
Enable index (optional)
Run the index builder from Djia Bricks → Index for best performance. Auto-updates on post save/delete.
Done — AJAX, URL sync, cache
Every filter interaction fires AJAX, updates the URL state and caches the response. Repeat states serve instantly from cache.
| Setting | Default | Description |
|---|---|---|
cache_ttl | 3600s | Seconds before cache entry expires |
cache_driver | transients | Storage driver: transients or object cache |
ajax_debounce | 300ms | Debounce delay on filter change |
url_mode | pushState | pushState or replaceState |
index_batch | 200 | Posts per indexing batch |
9 filter types — every
filtering scenario covered
Indexed & cached
for large catalogs
Pre-built flat index eliminates live taxonomy queries at filter time. Shared anonymous cache stores AJAX responses per URL state — repeat filter states serve instantly from cache with zero DB queries.
- One-time index build — auto-updates on post save/delete
- Flat index table — no live JOIN queries on filter
- Shared anonymous cache — all visitors share the same cache
- Configurable TTL — from 5 minutes to permanent
- Object cache compatible — Redis, Memcached
- WP-CLI commands for index rebuild and cache flush
- Works behind full-page cache — AJAX bypasses page cache
Pre-built Index
Flat DB table built ahead of time. Filter queries read from index — no live taxonomy JOINs.
Response Cache
Every unique filter state is cached. Repeat requests serve from cache in 0ms.
URL Sync
Every filter state is reflected in the URL. Share links, use browser back/forward, bookmark results.
Works behind cache
AJAX requests go to admin-ajax.php and bypass full-page cache (WP Rocket, LiteSpeed, Cloudflare).
Works for any listing,
not just WooCommerce
WooCommerce Shop
Filter by price, attribute, stock, rating and taxonomy. Variation-aware attribute filtering. Works with the Bricks product archive loop.
Property Directory
Filter real estate listings by location taxonomy, price meta, bedrooms meta and property type. Any custom post type.
Job Board
Filter job listings by category, location, job type and salary range. Connect to any CPT with custom taxonomies and meta fields.
Blog / News
Filter posts by category, tag, author and date range. Works with any Bricks post loop — archive or custom.
Course Catalog
Filter courses by subject taxonomy, level meta, duration range and instructor. Any CPT built with ACF or Meta Box.
Event Directory
Filter events by date range, location, category and price. Numeric meta range, keyword search and taxonomy filters combined.
Add AJAX filtering to
any Bricks listing.
15 filter elements, 9 filter types, indexed, cached and URL-synced — all configured inside Bricks Builder.