JetSmartFilters adds Ajax-powered filtering widgets to Elementor. It is specifically designed to work with JetEngine Listing Grids and WooCommerce product archives, making it the natural filtering solution when your site is already in the Crocoblock plugin suite. Where FacetWP works with any WordPress query, JetSmartFilters is optimised for the Elementor+JetEngine context.
How JetSmartFilters Works
JetSmartFilters filters are separate Elementor widgets that you place on the same page as a JetEngine Listing Grid or WooCommerce archive. When a visitor interacts with a filter, JetSmartFilters sends an Ajax request, applies the filter conditions to the connected listing grid query, and updates the grid contents without a page reload. The URL updates to reflect active filters, making filtered results bookmarkable.
The key configuration step is connecting filters to their target listing widget. Each filter widget has a Provider setting and a Widget ID setting. Set Provider to “JetEngine” (or “WooCommerce” for product archives) and enter the Elementor widget ID of the listing grid the filter should control. This connection tells JetSmartFilters which grid to update when the filter changes.
Step 1: Find Your Listing Grid’s Widget ID
Open the page in Elementor editor. Click on the JetEngine Listing Grid widget. In the widget settings, find the “Widget ID” field – this is a unique identifier for this specific widget on this page. Copy it. You need this ID when configuring each filter widget that should control this grid.
Need help building with Jet plugins? Describe your project and get a free estimate.
Step 2: Create Filter Widgets
JetSmartFilters provides several filter types as Elementor widgets:
- Checkboxes Filter – multi-select filtering. Best for attributes where multiple values apply (amenities, categories).
- Radio Filter – single-select. Best for mutually exclusive options (property type: house/apartment/villa).
- Select Filter – dropdown selection. Good for attributes with many options.
- Range Filter – numeric range with min/max inputs or slider. Best for price, square footage, year built.
- Search Filter – keyword search that filters the connected grid.
- Date Range Filter – filter by date fields for events, bookings, availability.
For each filter widget, configure: the Data Source (which meta field or taxonomy provides the filter values), the Provider (JetEngine or WooCommerce), and the Widget ID (the Listing Grid ID from Step 1).
Step 3: Configure the Active Filter Display
Add the Active Tags widget to show visitors which filters are currently active, similar to how WooCommerce shows active attribute filters with an X to remove each one. This widget reads the current active filters and displays them as removable badges. It is connected to the same Listing Grid ID as the filter widgets.
Step 4: URL-Based Filtering
Enable “Use URL state” in JetSmartFilters settings. With this enabled, filter selections are reflected in the URL (e.g., /listings/?price_min=100000&bedrooms=3). Visitors can share or bookmark filtered views and return to them. Search engines can index filtered pages if you configure them as indexable. Disable URL state for filter combinations that should not be indexed (avoid duplicate content from too many filter combinations).