The plugin is a powerful Elementor AJAX filters add-on. It enhances user experience by allowing seamless filtering and sorting of content on WordPress websites. It offers a robust solution for creating dynamic filters that instantly refine search results, providing visitors with a more efficient way to navigate through various content types. This tool integrates smoothly with Elementor, adding advanced filtering options to any Elementor-built layout effortlessly.

Plugin Version: 3.8.6.1
 
WordPress plugin JetSmartFilters

Plugin Features

With this tool, website owners can easily customize filters to match their sites design and branding. The plugin provides a user-friendly interface for configuring filter settings, making it simple to set up and manage multiple filter options efficiently. By offering real-time filtering capabilities, it ensures that users can refine their search criteria without needing to reload the page, creating a smooth and interactive browsing experience.

One standout feature of the extension is its ability to support various filter types, such as range sliders, checkboxes, search boxes, and more. This versatility allows for the creation of highly customized filters tailored to specific content types or categories. Moreover, JetSmartFilters AJAX technology ensures that filtering occurs dynamically, delivering instant results without causing delays or disruptions in the browsing process.

Website administrators will appreciate the seamless integration of the plugin with Elementor, enabling them to add dynamic filters to their pages with just a few clicks. The plugins intuitive design and straightforward setup process make it accessible to users of all skill levels, from beginners to experienced developers. Its flexibility and ease of use make it a valuable addition to any WordPress site seeking to improve content search and filtering functionalities.

Overall, the Elementor AJAX filters add-on presents a practical solution for enhancing the filtering capabilities of WordPress websites. Its seamless integration with Elementor, support for various filter types, real-time filtering functionality, and user-friendly interface make it a valuable tool for optimizing the user experience and improving content navigation on websites.

Specifications:

Release date: 06-09-2017
Last updated: 14-10-2026
Type: Paid
License: GPL 
Subject: Specific for Elementor
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: Crocoblock

Rating:
4.4763948497854 1 1 1 1 1 (233 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

Guide to Setting Up JetSmartFilters for Filterable WordPress Catalogs

JetSmartFilters makes the most sense when you treat it not as a standalone set of widgets, but as a filtering system that sits between WordPress data and the output block on the page. This guide walks through the full path: checking the site, choosing the filter type, configuring the provider, Query ID, and indexer, validating the result on the front end, and troubleshooting common issues.

This material is aimed at a site owner, webmaster, or developer who already knows they need a filter for posts, WooCommerce products, a service directory, real estate listings, cars, events, or another card-based dataset. It does not repeat the product page summary. Instead, it brings together practical solutions, careful configuration choices, and validation steps that help you understand how to use JetSmartFilters without randomly cycling through settings.

The examples below mention Elementor, the WordPress block editor, Bricks, JetEngine, JetWooBuilder, and WooCommerce because those are the provider scenarios the plugin most often uses to connect filters. If some of these tools are not installed on your site, apply the same principles: first identify the data source, then the output block, then connect the filter to the correct provider and verify the result on the page.

JetSmartFilters in a guide to setting up WordPress filters
The cover highlights the guide's core logic: a filter in the admin panel, the linked provider, and result validation in the catalog.

What Problem the Plugin Solves in a Real Project

JetSmartFilters is primarily meant to give visitors a fast way to narrow down a large list of posts, products, or listings. For a small blog with ten posts, that may be unnecessary, but for a catalog with dozens of parameters, filtering often becomes the main navigation method. Users do not want to read through the entire archive. They choose a category, price range, rating, date, color, neighborhood, or another condition and expect the list to immediately show matching items.

According to Crocoblock's official materials, the plugin works with Elementor, Gutenberg, Bricks, and Divi, and it also supports WooCommerce scenarios. The documentation separately covers active filters, tags, search, sorting, pagination, the indexer, Ajax filtering, URL aliases, and permalink structure settings. That matters because this is not just a "filter by category" tool. It is a set of components you can use to build faceted search - a multi-criteria search experience based on several attributes.

In practice, this means working on three levels:

  • Data: taxonomies, fields, WooCommerce attributes, posts, values from JetEngine, or another supported source.
  • Filter: Checkboxes, Select, Range, Date Range, Radio, Search, Rating, Sorting, Visual, and other types chosen for a specific scenario.
  • Provider: Listing Grid, Products Grid, Elementor Pro Loop Grid, WooCommerce archive, a map, a table, or another block that should update after a filter is selected.

If any one of these levels is set up incorrectly, the user sees an empty list, zero counters, broken pagination, or a filter that updates the wrong block. That is why JetSmartFilters setup starts not with checkbox styling, but with a map of the data and output.

Who JetSmartFilters Is a Good Fit For - and When Another Approach Is Better

The plugin is especially useful for sites where content is already structured. In an online store, that means categories, attributes, price, stock status, and rating. In a real estate directory, it could be property type, city, neighborhood, number of rooms, square footage, price, and status. In a blog or knowledge base, it might be categories, authors, dates, content difficulty, and core topics. JetSmartFilters works best when cards have clearly defined fields and visitors are actually searching by several criteria.

Good Use Cases

JetSmartFilters is worth considering if your site already has or is planned for one of these scenarios:

  • A WooCommerce product catalog where users need filters by price, category, attributes, rating, and availability.
  • A JetEngine directory where Listing Grid outputs custom post types and meta fields.
  • A portfolio, project database, specialist directory, events listing, or job board with multiple filtering parameters.
  • A page with multiple Listing Grids where each block needs to be filtered separately through Query ID.
  • An archive where active tags, reset filters, sorting, and pagination matter without constant page reloads.

When the Plugin May Be Overkill

If the task comes down to a simple category menu, the default WordPress search, or a single archive with infrequent updates, a filtering system may be more complex than the problem itself. JetSmartFilters also does not replace data modeling. If your products and posts do not have proper taxonomies, attributes, or meta fields, you will need to organize the data first. Otherwise, the filter will show a random set of values.

Quick rule of thumb: JetSmartFilters works well when users need to combine conditions. If visitors only need to click into a single category, a standard menu or archive link may be enough.

What to Check Before Installation and First Launch

Before installation, it helps to do a quick audit of the site. This saves time because most filter issues are caused not by the installation itself, but by an unprepared provider, mismatched Query IDs, disabled provider types in the global settings, or data that does not match the chosen filter type.

Data Structure

Start by answering one question: what exactly should the visitor be able to choose? If it is categories and tags, use taxonomies. If it is price, square footage, date, numeric rating, or a boolean flag, the source should usually be a custom field or attribute. If values are entered manually, make sure they are spelled consistently across all items. A filter does not understand that "new," "New," and "brand new" mean the same thing.

For WooCommerce, make sure product attributes are filled in systematically rather than typed into the description. For JetEngine, verify the meta field keys and field type. Crocoblock's documentation specifically calls out the Checkboxes meta field case: it should not be confused with a regular Checkboxes filter because JetEngine checkbox meta fields have a separate toggle.

Output Block

Next, check which block on the page outputs the cards. For JetEngine, this may be Listing Grid. For a store, it may be a WooCommerce archive, Products Grid, or a JetWooBuilder-based setup. Elementor Pro Loop Grid has its own conditions: Crocoblock's documentation says you need to enable the corresponding provider in Smart Filters settings and also verify the loop grid configuration if the filter is not being applied.

If the page includes multiple grids, maps, or lists, think through Query ID in advance. A filter needs to know which block it is updating. Without that, it may apply to the first provider it finds or conflict with a neighboring block.

Cache, Optimization, and a Test Page

Ajax filtering is sensitive to aggressive JavaScript optimization, page caching, and deferred script loading. That does not mean caching must be disabled permanently. But the initial setup is best tested on a staging page without minification or script combining so you can understand the base behavior. After that, re-enable optimization one piece at a time and verify that filtering still works.

  • Create a test page with one provider and one filter.
  • Clear the site cache, browser cache, and the cache of your optimization plugin.
  • Check the browser console for JavaScript errors after applying a filter.
  • Compare behavior for an administrator and a regular visitor in a private browsing window.

Installation and Initial Validation Without Extra Risk

Installing the WordPress plugin itself is standard: upload the ZIP file, activate the plugin, and go to its settings. The important part is not to stop at the successful activation message. With JetSmartFilters, meaningful validation only begins once at least one filter has been created, placed on a page, and connected to a provider.

Minimum Post-Activation Check

  1. Open the WordPress admin panel and check whether the Smart Filters section appears.
  2. Go to JetSmartFilters settings through Crocoblock or through Smart Filters settings.
  3. In General Settings, leave enabled only the providers that the site actually needs.
  4. Create a test filter with a simple data source, such as the category taxonomy.
  5. Add the filter and one Listing Grid or Products Grid to a test page.
  6. Apply the filter on the front end and make sure it changes the correct list.

This test may seem too simple, but it separates filter configuration problems from data problems. If a category filter works but a more complex meta field filter does not, the issue is likely in the field key, data type, comparison logic, Query ID, or indexer.

What Not to Enable Right Away

On day one, do not enable every provider, every Ajax mode, SEO rules, filter permalink structure, and complex URL aliases all at once. Each of those features is useful in the right place, but each one also adds another troubleshooting point. First, get stable results on a standard page. Then add the Indexer, counters, active tags, pagination, a cleaner URL structure, and rules for indexable filtered pages.

The Configuration Map: Filter, Data Source, Provider, and Query ID

The most important JetSmartFilters setting is not the color or size of a checkbox. It is the correct connection between the filter and the element it is supposed to update. Crocoblock's documentation explains Query ID directly: it is a string value that links the filter widget to a specific Listing Grid or another provider. When a page has only one list, the filter often works even without an explicit ID. But as soon as you have multiple grids, pagination, sorting, a map, or a custom query, a consistent Query ID becomes the foundation of stable filtering.

JetSmartFilters configuration map with data source and Query ID
This diagram shows how the data source, filter type, provider, and Query ID form one working chain.

Choosing the Filter Type

Choose the filter type based on how users make decisions. Checkboxes are useful for multi-select scenarios like several brands, categories, or features. Radio works for mutually exclusive choices. Select saves space, especially when there are many options. Range and Check Range are suitable for numeric intervals such as price, square footage, age, duration, or rating. Search helps when visitors remember a word from the title, description, or a related field. Sorting does not remove items - it changes the order of results.

A poor practice is choosing a filter type only because it looks better in the layout. For example, a Visual filter works well when the visual value actually helps: color, material, icon, or service type. If the value for a visual item is not filled in or does not match the data, the filter looks correct but produces no result.

Data Source and Query Variable

In the filter settings, make sure you specify where values should come from. For a taxonomy, that means the selected taxonomy. For a custom field, it means the field key. For a manual list, it means the defined values. JetEngine may also expose additional sources such as Custom Content Types, Glossary, Query Builder, or Query Builder Switcher if those modules are enabled.

Query Variable must match what is actually used in the query. If you are filtering by a meta field, verify the exact key. If you are filtering by a WooCommerce attribute, use the system attribute name, not the nice-looking label shown on the site. If you are filtering by taxonomy, do not substitute the slug of some other entity.

Provider and Query ID

The provider is the block that updates after a filter is selected. In the filter settings, you will usually see the This filter for field. For Listing Grid, choose JetEngine. For a WooCommerce archive, choose the corresponding WooCommerce provider. For Elementor Pro Loop Grid, choose its dedicated provider after enabling it in the global settings.

If you are using Query Builder, the same identifier must be set in the query, in the CSS ID or provider settings, and in the filter's own Query ID field. The same rule applies to pagination and sorting. They all need to point to the same Query ID, otherwise a user may filter the list, click page two, and see a reset or incorrect result.

Practical check: create the Query ID once - for example, catalog-grid - and use it exactly the same way everywhere it is needed. Do not add spaces, do not change letter case, and do not copy the ID with an extra trailing character.

Indexer, Counters, and URLs: Where to Enable Them Carefully

The Indexer is one of the most useful features and, at the same time, one of the most common sources of questions. In JetSmartFilters settings, it is responsible for preparing filtering data and counters next to filter values. The official documentation explains that the indexer stores filtering data in the database so results can be retrieved later, and irrelevant values can be hidden or disabled. To the user, this shows up as a counter next to a filter option and the absence of empty choices that would lead to zero results.

Relationship between the JetSmartFilters Indexer, counters, and filtering results
The indexer is useful for counters and empty values, but it must be tied to the correct post type, provider, and Query ID.

When to Enable the Indexer

Enable the Indexer when the catalog is already large enough, when you need to show counters, hide empty options, or speed up filter-based querying. The settings include Use Indexed filters, auto indexing, and the list of post types that should be indexed. The documentation also notes that you should not enable extra post types because that affects site performance.

After importing posts, running bulk updates, publishing through forms, or updating data through an external process, you may need to reindex manually. Auto indexing does not always catch those events. So if counters show zero, do not immediately rebuild the filter from scratch. First check whether the indexer table has been updated and whether the correct post type is selected.

Counters and Empty Values

The filter widget includes Indexer Options. That is where you enable Apply Indexer, counters, and the behavior of empty items. In a store, it is usually helpful to hide or disable values that would return no products. In a service directory, it may be better to keep an empty item visible if it helps users understand the structure of the catalog, but that decision should be tested on a real page.

If counters display zero, do not assume there are no products. The symptom may mean something else: the indexer does not see the required post type, the filter source does not match the field, Query ID is not connected to the provider, the selected integration does not support the custom query, or the data was imported without reindexing.

URL Structure and SEO Rules

JetSmartFilters can work with plain URL structure, permalink structure, aliases, and SEO rules for specific filtered pages. These features are useful when filters create genuinely valuable landing states such as category + brand + product type. But they should not be turned on automatically for every combination. A large number of filtered URLs without control can create unnecessary pages, duplicates, and weak combinations.

A safe approach looks like this: first set up working filtering, then identify 3 to 10 important combinations that are truly useful for visitors and search, and only after that enable SEO rules. Crocoblock's documentation points out both filter-type limitations for rules and the need to specify the page slug, provider, Query ID, and allowed filters. If you are not prepared to maintain those URLs, it is better to keep regular filtering without indexing those pages.

Practical Example: A Listing Directory with Filters by Type, Price, and Neighborhood

Let us look at a typical scenario: the site has a real estate or services catalog built with JetEngine Listing Grid. Visitors need to choose a property type, price range, and neighborhood, and the list should update without unnecessary confusion. The same logic also applies to a store, a car catalog, a specialist directory, or a course collection.

Goal

Create a page where filters appear on the left or top and the Listing Grid with cards appears on the right. Users choose conditions, the list updates, active filters can be reviewed and reset, and pagination preserves the selected parameters.

Preparation

  • The posts use a custom post type such as property or service.
  • Property type and neighborhood are set up either as taxonomies or as clean meta fields with consistent values.
  • Price is stored as a number, not as a string that includes currency symbols inside the field.
  • A Listing Grid has already been created to output cards for the required post type.
  • The page has only one main provider for now, so the first test stays clean.

Setup Steps

  1. Create a Checkboxes or Select filter for the property type. Choose the correct taxonomy or field as the Data Source.
  2. Create a Range filter for price. Make sure the field key points to the numeric meta field.
  3. Create a Select or Radio filter for neighborhood if neighborhood is chosen as a single value.
  4. Open the page with the Listing Grid and assign the provider a clear CSS ID, such as property-grid.
  5. In each filter, choose the correct provider in This filter for and set the same Query ID.
  6. Add Active Tags and Remove Filters so users can see the selected conditions and clear the page quickly.
  7. If the page also includes pagination or sorting, give them the same Query ID.
  8. Save the page, clear the cache, and test the front end in a private browsing window.

How to Choose Apply Type for This Scenario

For a directory with a small number of conditions, Ajax mode is usually more convenient because visitors see the updated list immediately. For a page with heavy queries, multiple ranges, and expensive sorting, it can be better to use an apply button: the user selects conditions first and then triggers a single request. That reduces the number of intermediate Ajax updates and makes the behavior clearer on mobile.

If you choose button-based application, make sure the button is actually visible. Crocoblock's troubleshooting documentation gives special attention to the Apply type, Apply on, and Show apply button combination. The issue looks deceptively simple: the filter is configured correctly, but the user cannot see the button that is supposed to submit the selected conditions.

How to Verify That the Filter Uses the Correct Data

Take one card from the catalog and write down its values manually: type, neighborhood, price, status. Then select those exact conditions on the site. The card should remain in the results. After that, pick a clearly incompatible condition, such as a different neighborhood or a price range lower than the actual value. The card should disappear. This test is easier than checking dozens of combinations immediately because it shows whether the filter logic matches the record's real data.

Validating the Result

The correct outcome looks like this: selecting one neighborhood changes the list, selecting a price range narrows it further, Active Tags shows the selected conditions, the reset button restores the original list, and moving to another pagination page does not break filtering. If the filter only works after a reload, check Apply type and cache compatibility. If the filter updates a neighboring list, check Query ID.

A Nuance That Often Gets in the Way

Many issues appear after duplicating a block. You configure the first Listing Grid, duplicate it for another section, and the CSS ID stays the same. Visually, the page looks fine, but two providers now share the same identifier. In that case, filters may update both lists or unpredictably choose one of them. After duplicating a block, always verify that Query ID and CSS ID are unique.

Checking the Result on the Site: Speed, Usability, and Accessibility

Once filtering starts working, do not treat the task as finished right away. Users evaluate more than the fact that the list changes. They also notice speed, clarity of selected conditions, URL predictability, how the reset button works, how empty results are handled, and what happens on mobile.

What to Check on the Front End

  • The filter works on the first selection, without a second click and without reloading, if you chose an Ajax-based scenario.
  • Empty results show a clear message instead of simply making the grid disappear.
  • Active Tags or Active Filters make it easy to see which conditions are already enabled.
  • Remove Filters returns the list to its original state.
  • Pagination, sorting, and search use the same Query ID as the main filter/provider pair.
  • On mobile, the filters do not take over the full screen height without a quick way to return to the results.
  • Keyboard navigation does not break if accessibility settings are enabled.

How to Avoid Hurting Performance

A large catalog with multiple filters can generate heavy queries. So use the Indexer where it makes sense, disable unnecessary providers in the global settings, do not output every possible value unless needed, and avoid stacking too many conditions on a single page. If the site uses an optimization plugin, add exclusions carefully: first determine which script or Ajax request is breaking, and only then exclude it from deferred loading or combining.

For SEO, do not assume filters will automatically drive growth. Filters help users, but search pages need a separate strategy. Only index useful combinations with clear demand and distinct intent. Other states are better left as user navigation.

Practical Usage Ideas for Different Types of Sites

JetSmartFilters is not limited to stores. Its main strength is the same logic working across different types of content: there is data, a selection interface, and a provider that displays the result. Below are several scenarios that help you choose not just the filter type, but also the right validation method.

JetSmartFilters usage scenarios for a store and a catalog
The decision board helps you choose a filtering scenario by goal, risk, and expected outcome.

WooCommerce Store

For a store, the usual priorities are price, category, attributes, rating, availability, and sorting. A good setup does not force shoppers to choose ten conditions at once. Start with 3 to 5 of the clearest filters and add Active Tags. If you are using a WooCommerce archive or JetWooBuilder, make sure you check the provider for that output specifically rather than for a standard Listing Grid.

Real Estate, Car, or Service Directory

Here, ranges, geography, and item type matter most. A Range filter works well for price or square footage, Select works for city or neighborhood, and Checkboxes works for amenities or feature sets. If there are multiple lists, such as a catalog and a map, think through additional providers. One filter can be connected to multiple blocks, but only if that is an intentional setup rather than an accidental side effect.

Knowledge Base or Educational Blog

For a content-focused site, filters should help users find material by level, topic, author, lesson type, or date. A Search filter is useful when visitors remember a word from the title. An Alphabet filter can make sense for a glossary. But if the number of categories is small, do not overload the page with a complex system. Sometimes a topic-based Select and sorting are enough.

Specialist or Profile Directory

In this scenario, clean data is especially important. Specialty, city, work format, and experience should be filled in consistently across all cards. If some profiles do not have a value for a field, users may see incomplete results. Before launch, create a table of required fields and verify that the filter is not hiding strong profiles simply because a meta field is empty.

A Safe Way to Improve Filter Styling Without Editing the Plugin

JetSmartFilters includes styling settings in supported builders, and Crocoblock also ties some styling options to JetStyleManager. But sometimes you need a small, consistent design improvement for the filter panel that does not depend on editing plugin files. The safe option is to add your own class to the column or container that holds the filters, and keep the CSS in a child theme, theme settings, or a reliable snippets plugin.

The example below does not modify the WordPress core and does not call JetSmartFilters internal API. It styles only the container that you assign the catalog-filters class to yourself. If a particular theme or builder outputs different markup, the CSS can be narrowed down or removed without data loss.

.catalog-filters {
  padding: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #ffffff;
}

.catalog-filters label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  line-height: 1.35;
}

.catalog-filters button,
.catalog-filters input[type="submit"] {
  min-height: 40px;
  border-radius: 8px;
}

The validation step is simple: add the class to the container, clear the cache, open the page in a private window, and make sure the panel looks cleaner while filtering behavior stays the same. Rolling back is just as simple: remove the class or the CSS block. If the layout breaks after adding the CSS, your selectors are too broad for the theme. Narrow them to a specific section of the page.

Why Filters Stop Working and How to Find the Cause

Troubleshooting is best done from simple to complex. Do not delete filters or rebuild the page right away. In most cases, the cause is the provider, Query ID, a disabled provider type, the indexer, a mismatched data source, or a cache conflict.

JetSmartFilters error diagnostics with symptom, cause, and fix
The troubleshooting map helps you work from symptoms: provider, Query ID, Indexer, Apply button, Visual filter, and cache.

The Filter Is Displayed, but the List Does Not Change

Symptom: checkboxes, select, or range controls are visible on the page, but after selection the list stays the same. A likely cause is the wrong provider in This filter for, a missing Query ID, a disabled provider in General Settings, or a JavaScript cache conflict.

Check whether the required provider is enabled in JetSmartFilters settings. Then make sure Query ID is identical across the filter, the Listing Grid or other provider, pagination, and sorting. If you are using Elementor Pro Loop Grid, check the separate settings described in Crocoblock documentation: provider enablement, the Is Filterable state, and disabling built-in pagination if you are using a separate Pagination widget.

Counters Show Zero

Symptom: filter values are visible, but all counters next to them show zero, or empty values hide options that should work. A likely cause is that the Indexer does not see the post type, reindexing was not run after import, the data source was chosen incorrectly, or the filter is not connected to the provider.

Open Crocoblock > JetPlugins Settings > JetSmartFilters > Indexer Settings. Check Use Indexed filters, auto indexing, and the Index Post Types list. Then open the filter list and run indexing manually. If the data was imported through CSV, the REST API, WP-CLI, or created through a front-end form, manual indexing is especially important.

When the Problem Is the Data, Not the Indexer

The Indexer does not fix messy values. If one product stores the color as Blue, another as blue, and the filter expects a taxonomy term, counters may still look wrong even after reindexing. The same applies to numbers saved as text with currency symbols, dates in different formats, and meta fields that are not filled in across all cards. In that case, normalize the data first and then run indexing again.

When Manual Reindexing Is Required

Manual reindexing is needed after actions that bypass normal post saving in the admin panel. The official documentation specifically lists imports, front-end publishing through forms, and updates through external mechanisms. In practical terms, this means: if data reached the site through something other than the standard post save button, do not trust old counters until you verify them again.

Pagination Resets the Result

Symptom: the first page filters correctly, but going to the next page brings back the full list or an empty result. This usually means the Pagination widget is not connected to the same Query ID as the filter and provider. Set the same value across all related elements and make sure the provider's built-in pagination does not conflict with a separate pagination widget.

The Apply Button Does Not Appear or Does Not Trigger Filtering

Symptom: button-based apply mode is selected, but there is no button or the button does not affect the list. In Crocoblock's troubleshooting documentation, special attention is given to the Apply type and Apply on combination: if a filter is supposed to work through a button, make sure the apply button display is enabled. If Ajax or Mixed logic with a button click is selected, the button must still be visible.

The Visual Filter Looks Correct but Produces No Result

Symptom: attractive visual options are displayed, but selecting them does not filter the list. A common cause is that the option value is not filled in or does not match the data. Check the value of each visual item, the data source, and the comparison logic. If the visual is tied to a color or image, do not confuse the image with the actual filter value.

The Filter Breaks After Optimization Is Enabled

Symptom: everything works on a clean page, but after minification, deferred script loading, or caching is enabled, filtering stops updating. Disable optimizations one by one and identify the specific module that breaks Ajax. Then add a targeted exclusion instead of turning off the entire cache permanently. If the cause is unclear, check the browser console and the network Ajax requests.

When to roll back a setting: if filtering becomes unpredictable after enabling SEO rules, permalink structure, or a complex custom query, temporarily return to a simple provider and a single Query ID. Restore baseline filtering first, then add complexity again.

Video on JetSmartFilters Troubleshooting

Crocoblock has a precise video on the topic "JetSmartFilters Not Working: 7 Things You Need to Check." It is best used not as a general plugin overview, but as a visual quick reference for symptoms: provider settings, the indexer, the Apply button, Query ID, multiple elements on the page, and the Visual filter. It directly addresses the intent behind "JetSmartFilters not working" and helps you compare your admin panel with the troubleshooting flow described above.

Questions That Usually Come Up After the First Setup

Can You Use JetSmartFilters Without Elementor?

Yes. Crocoblock's official materials describe setups for Gutenberg, Bricks, and Divi, not just Elementor. But the exact placement steps depend on the builder you choose. The core principle stays the same: create the filter in the admin panel, add the corresponding block or element to the page, and connect it to the provider.

Do You Need JetEngine for Every Scenario?

Not for every scenario, but for many directories JetEngine is the main integration because it provides custom post types, fields, Listing Grid, and Query Builder. Zemez documentation for the older Elementor-based scenario explicitly notes that listings usually require JetEngine or JetWooBuilder for output. If you are filtering a WooCommerce archive, the setup may be different.

Why Does the Filter Work on One Page but Not Another?

Most often, the provider, Query ID, or data source differs. Check that the required provider is enabled on the second page, the filter points to the correct block, the CSS ID is not duplicated, and the card data actually contains the selected values.

Should You Enable the Indexer Right Away?

If the catalog is small and you do not need counters, you can start filtering without the Indexer. As the dataset grows or you need to hide empty values, the Indexer becomes useful. Enable only the post types you need and run reindexing after imports or bulk data updates.

Can You Create SEO Pages for Filters?

Yes, if SEO rules and URL settings are available in your version and configuration. But you should only index combinations that have their own meaningful value. Opening up every filtered URL at scale usually creates duplicate and low-value pages.

What Should You Do if Filters Break After Caching?

First, test the page without minification and deferred script loading. Then re-enable optimizations one by one. Once you find the conflict, add a targeted exclusion for the script or Ajax mechanism instead of disabling the entire site cache for no reason.

Is the Plugin Suitable for a Multilingual Site?

Multilingual setups need separate validation. WPML sources include errata for cases where JetSmartFilters did not work correctly or was not translated properly on the front end. So before launch on a multilingual site, check each language version, query parameters, translated values, and the front-end result.

When JetSmartFilters Is the Right Choice

JetSmartFilters is worth using when the site has structured data, a clear provider, and a real need for multi-criteria filtering. It is especially well suited to projects built with Crocoblock, JetEngine, WooCommerce, and supported builders, where the filter should do more than lead to an archive - it should update a specific list, map, table, pagination, and active tags.

Before launching to production, verify three things: the data source is filled in cleanly, Query ID matches across all connected elements, and the front-end result is clear to a regular visitor. After that, you can add the Indexer, counters, URL settings, SEO rules, and careful styling. If you have gone through these steps and want to test the plugin on your site, closer to the download block you can get the WordPress version and try it first on a page copy or in a staging environment.

The best result comes not from having a lot of filters on the page, but from making sure each filter answers a clear user question. A shopper, reader, or client should be able to find the right item faster, and the administrator should know where to look if filtering stops working.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.