Enable 'Advanced query detection' in FacetWP's settings.
Enable “Advanced query detection” in FacetWP’s settings.

FacetWP’s “Advanced query detection” setting (called “Strict query detection” in FacetWP versions older than v4.5) prevents FacetWP’s automatic query detection from incorrectly choosing (invisible) archive queries on the page to filter.

If the setting is disabled, FacetWP will try to use the first query on the page that WP treats as an archive query (for which is_archive() is true). In the past, this was useful in situations with a page builder widget, to auto-detect the widget’s custom query as the main query to filter. However, over time, more and more plugins and custom code started adding WP_Query queries for all kinds of purposes. With the setting disabled, these will be incorrectly auto-detected as the main query to filter. Enabling the setting fixes this by letting FacetWP choose only WordPress’s main query (for which is_main_query() is true) to filter.

For the above reasons, the setting is now enabled by default for new installs in FacetWP versions newer than v4.2.3. In 99% of cases you should keep it enabled. Disabling it will cause FacetWP to filter the wrong query on the page, resulting in a disconnect between your facets and the listing to filter.

Only disable the setting if you have a specific reason and understand what it does, or if you are instructed to do so in support.

Note that you can also enable “Advanced query detection” with PHP, using the facetwp_is_main_query hook. The linked snippet shows exactly what this setting does.

See also

Last updated: October 29, 2025