This add-on lets you toggle facets (and other elements) based on certain conditions.

First, we add a Ruleset. Each Ruleset contains Conditions (IF) and Actions (THEN).


Conditions determine what to test for.

Let’s say you want to do something on if the “Make” facet has bmw selected. You’d add the following conditions:

If a ruleset has no conditions, then its actions will always be applied.


Actions determine what to do. Each action has 2 inputs:

  • Toggle – Show or Hide
  • Object – A facet, all facets, the template, or a custom selector
  • Else – What to do when the rulseset doesn’t match (Do the opposite, or Do nothing)

Using custom selectors

  • Click the “Add action” button
  • In the second dropdown, choose the Selector option
  • A new input box will appear, in which you can enter jQuery selectors (one per line).

To toggle a facet’s parent container (.widget) you’d use:


To target an <h3> heading directly before a facet:


Targeting empty facets

In the “Custom selector” box (see above), enter $EMPTY.

If you need to target the facet’s parent element instead, you’d use:


Targeting active (in-use) facets

In the “Custom selector” box (see above), enter $ACTIVE.



  • Fixed switched to the `facetwp_assets` hook to prevent script timing issues


  • New added ability to enable / disable specific rulesets
  • New added `` JS method to manually trigger logic
  • Improved removed front-end jQuery dependency
  • Improved better admin styling (inputs expand based on available space)
  • Improved PHP housekeeping


  • Fixed switched from `init` to `facetwp_init` hook to prevent timing-related PHP error on FacetWP 3.8+


  • New added facetwp/ruleset/apply JS hook to support custom actions
  • New added $ACTIVE selector (similar to $EMPTY, but targets in-use facets)
  • New added i18n support (props G3ronim0)
  • Improved removed the modal
  • Improved removed the unnecessary "ON" condition (now uses facetwp-loaded)
  • Improved styling tweaks