Conditional filters
Some filters only make sense once a shopper has narrowed down. Screen size matters on televisions and nowhere else. Sleeve length matters on shirts. Showing every attribute on every page buries the handful that apply.
Super Speedy Filters can hide or disable a filter until other filters have been selected.
Where to find it
On a taxonomy filter, open Advanced. The setting reads:
Hide/disable this filter until other filters selected [ Hide Widget ▾ ] until [ ……………. ] selected
Type a comma-separated list of conditions. Each condition is either a taxonomy slug, or a taxonomy with specific terms:
| Condition | Meaning |
|---|---|
product_cat | once the shopper has picked any category |
product_cat=televisions | only in the Televisions category — and its subcategories |
product_cat=televisions|audio | in either of those |
product_cat, pa_colour | two conditions — see Match below |
Terms accept a slug, a name or a term ID.
Category conditions understand your category tree. A filter set to show for Televisions also shows in OLED and QLED beneath it, so you never have to list every child category. The reverse deliberately does not apply — a filter scoped to a subcategory stays out of the parent.
Match: all conditions, or any
When you list several conditions, the Match setting beside the list chooses whether the filter waits for all of them or appears on any one. Existing filters keep the behaviour they have always had, which requires all of them.
Hide or disable
Two behaviours, and the difference matters more than it looks:
Hide Widget — the filter is not rendered at all. The page is lighter and the sidebar is shorter. Use this when the filter would be meaningless out of context.
Disable Widget — the filter renders greyed out and unclickable, with a tooltip explaining why. Use this when you want shoppers to know that more refinement is available once they pick a category. Set the tooltip in Disabled filter tooltip text — something like “Choose a category first” is more useful than the default.
Reach for Disable when the filter is a reason to keep browsing, and Hide when it is noise. A shopper cannot ask for a filter they have never seen, so hiding a genuinely useful filter costs you more than the space it would have taken.
Worked example
A store selling both clothing and electronics:
| Filter | Setting | Result |
|---|---|---|
| Product categories | no condition | Always visible |
| Colour, Size, Brand | no condition | Always visible — they apply to everything |
| Screen size, Resolution | Hide until product_cat=electronics | Appear only in Electronics and its subcategories |
| Sleeve length, Fit | Hide until product_cat=clothing | Appear only in Clothing |
That gets you a short sidebar on the shop page and, in each department, exactly the filters that apply there.
You rarely need to type these by hand. Auto Configure works the conditions out for you — it checks which categories each filter actually has results in and restricts it to those, leaving store-wide filters such as colour, size and brand unrestricted. Each decision is shown with its evidence, so you can loosen or remove any condition you disagree with.
Where this helps most
Stores with many attributes. If you have thirty attributes and only six apply to any given category, conditional filters are the difference between a sidebar shoppers read and one they scroll past.
It is also a page-weight win. A hidden filter is not rendered, so its terms are not in your HTML at all.
Combine this with a popout container and a search box on your largest filters. Conditional display keeps them off pages where they do not apply; the container and Ajax loading keep them off the initial page load where they do.
What it does not do
- It is per filter. There is no global rule that scopes a group of filters at once — each filter carries its own condition (though Auto Configure will set them across the whole store in one pass).
- It does not affect the results. A hidden filter is not applied; it simply is not offered. A shopper who arrives on a URL that includes that filter still gets the filtered results.
A note on empty filters
You do not need a condition to hide a filter that has nothing to show. Super Speedy Filters already renders a filter with no available terms as nothing at all — no heading, no empty box. So an attribute that simply is not used in the current category disappears on its own.
Conditional filters are for the case where the filter would have terms but showing it is still unhelpful.

Comments