Description
FilterWell adds filtering blocks that connect to the core Query Loop block. Visitors can search, sort and filter posts, pages or custom post types, and the results update without reloading the page, using the WordPress Interactivity API.
Everything is built with native blocks and takes its look from your theme: fonts, colors, buttons and form fields follow the Styles you already defined.
Blocks
- Query Loop Filters – the container. It connects to a Query Loop and decides whether filters apply instantly or with a “Filter” button. On mobile, it can show the filters in a slide-in panel.
- Taxonomy Filter – categories, tags or any taxonomy, shown as checkboxes, single choice, a dropdown or a row of pills. Includes result counts that take the other active filters into account and can hide options without results. For hierarchical taxonomies it can show only the main terms, or only the subterms of the selected term.
- Author Filter – the same styles, listing the authors that have published content.
- Date Filter – a publish date range (from / to).
- Query Loop Search – a text search field that uses your theme’s Search block style.
- Query Loop Sort – a dropdown to sort by newest, oldest, title, recently updated or most commented. You choose the options and their labels.
Need only a search field or a sort dropdown next to your loop? Insert Query Loop Search or Query Loop Sort anywhere on the page: they come already wrapped in their own Query Loop Filters block.
* Filter Buttons – “Filter” and “Clear” buttons.
* Active Filters – the applied filters as removable chips.
Highlights
- Pills row: a single scrollable row with arrows and fading edges, which can also be swiped on mobile.
- Category and subcategory rows: a first row with the main categories and a second row, shown only when needed, with the subcategories of the selected one.
- Archive pages: on a category, tag, taxonomy or author archive, the current term is marked as selected and choosing another one goes to its archive URL. On date archives (
/2025/09/), the Date Filter shows that period. - Shareable URLs: filters are stored in the URL, so filtered results can be shared and the browser back and forward buttons work.
- Several loops per page: name your loops and choose which one each set of filters controls. You can also add filters directly from the Query Loop sidebar.
- Accessible: real form controls, keyboard support, a focus-trapped mobile panel and screen reader announcements when results change.
- No settings page and no database tables.
Screenshots





Blocks
This plugin provides 7 blocks.
- Active Filters Shows the applied filters as removable chips, plus a button to clear them all.
- Date Filter Filters the loop by a publish date range (from / to). Uses the field style of the theme's Search block.
- Query Loop Filters Filters container connected to a Query Loop. Filters with a button or instantly and, on mobile, shows in a slide-in panel.
- Query Loop Sort Dropdown to sort the connected Query Loop: newest, oldest, by title or most commented. Applies instantly.
- Filter Buttons A "Filter" button to apply the filters (hidden in instant mode) and an optional "Clear" link.
- Query Loop Search Text search field for the connected Query Loop. Uses the same style as the theme's Search block.
- Taxonomy Filter Filters the loop by categories, tags or any taxonomy of the post type.
Installation
- Install the plugin from the Plugins screen, or upload the
filterwellfolder to/wp-content/plugins/. - Activate the plugin.
- In the block editor or the Site Editor, add a Query Loop block.
- Select the Query Loop and, in its Query Loop Filters panel, click Add filters above the loop. You can also insert the Query Loop Filters block anywhere and choose the loop in its Connection panel.
- Add the filter blocks you need inside the container.
FAQ
-
Does it work with custom post types and custom taxonomies?
-
Yes. The Taxonomy Filter lists the taxonomies of the post type used by the connected Query Loop.
-
Can the filters and the loop be in different places?
-
Yes. The container can be anywhere on the page or template. If the loop is outside the current content (for example, in the template while the filters are in a page), type the loop ID in Loop ID (manual).
-
What happens on archive pages?
-
On
/category/design/, for example, the category filter shows Design as selected and the loop only shows those posts. Choosing another category goes to its archive URL, keeping the other filters. Loops that inherit the template query always do this. Loops with their own query do it when Follow the current archive is enabled in the container.On date archives such as
/2025/09/, the Date Filter shows the first and last day of that month. Changing the dates keeps loops with their own query on the same page with the new range, and takes loops that inherit the template query to the posts page. -
How do I show categories and subcategories in two rows?
-
Add two Taxonomy Filter blocks for Categories, each one in its own Query Loop Filters container. Set Terms to show to Top-level terms only in the first one and to Subterms of the selected term in the second one. The second row stays hidden until a category with subcategories is selected.
-
How is “most commented” sorting calculated?
-
It uses the number of approved comments of each post. WordPress does not track views, so there is no “most viewed” option.
-
Does it work without JavaScript?
-
In “With button” mode (the default), the filters are a regular form, so they keep working with a normal page load. Instant mode, the pills row arrows and the mobile panel need JavaScript.
-
Where is the source code of the JavaScript and CSS files?
-
The plugin includes the source files in the
srcfolder, next to the compiled files inbuild. To compile them, runnpm installand thennpm run buildin the plugin folder. The build uses the official@wordpress/scriptspackage, listed inpackage.json.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“FilterWell – Query Loop Filters” is open source software. The following people have contributed to this plugin.
Contributors“FilterWell – Query Loop Filters” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “FilterWell – Query Loop Filters” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- New: “Query Loop Sort” and “Query Loop Search” can be inserted anywhere on the page, on their own. They connect to the loop like the full filters block.
- New: the default Query Loop Filters block now includes the sort dropdown.
- Fix: sorting by title ignores leading punctuation, so “¿Cómo…?” is listed with the C titles. This also applies to loops sorted by title by default.
- New: all FilterWell blocks are grouped in their own “FilterWell” section of the block inserter.
1.0.0
- First public release.
