Skip to main content

Troubleshooting Indexer Issues

If the Indexer shows zeros instead of the actual count of items for filter options, it could be due to several reasons. This guide will walk you through the possible causes and solutions.

1. Check if the Indexer Is Enabled for Filtered Objects

  1. Go to WordPress Dashboard > Crocoblock > JetPlugins Settings > JetSmartFilters > Indexer Settings.

  2. Ensure that the toggle is enabled for all objects that should be filtered and indexed.

2. Check Query ID

If you’re using the Query Builder functionality, it is crucial to ensure that your Filter, Listing, and Query are all "speaking" to each other. This is achieved by using a shared ID.

Why use CSS ID? While it is an HTML attribute, JetSmartFilters and Query Builder use it as a unique identifier to sync the data. Without this shared ID, the filtering logic, pagination/load more, and the Indexer may fail to recognize which grid they should be updating.

The "Golden Triangle" of IDs: To prevent conflicts and ensure stable performance, the exact same ID (e.g., grid) must be entered in three places:

  1. Query Builder: The ID assigned to your Custom Query.

  2. Filter Widget: The "Query ID" field in the General settings tab.

  3. Listing Grid Widget: The Advanced > CSS ID field.

  • Change the Ajax Request Type to Referrer

  • For unrelated to filtration queries on the page, assign random IDs to prevent conflicts with filtration-related queries

Pro Tip: Even if you think it's optional, assigning a unique CSS ID is the best practice to avoid "unexpected conflicts" when mixing Query Builder with Listing Grid widgets, especially when using AJAX-based features like Pagination or Indexers.

3. Review Filter Settings

  • For “Taxonomies” as Data Source: Ensure the Is Checkbox Meta Field (JetEngine) toggle is disabled. If enabled, it could prevent the indexer from working correctly. This setting applies to the “Custom Fields” source.

  • Changing Filter Types: If you switch from one filter type to another (e.g., from Select to Checkbox), you need to check whether Is Hierarchical option wasn't enabled. Only after you disable it, you can change the filter type.

  • Exclude/Include Settings: When using Checkboxes List, Select, or Radio filter types, ensure that the Exclude/Include Items field is not empty if either option is selected.

  • Query Variable ≠ Query ID: Make sure Query Variable and Query ID are not confused:

    • Query Variable defines what is being filtered.
      It must contain the meta field key or dynamic value related to the data you want to filter (e.g. _price, event_date etc.).

    • Query ID is used only to connect filters, listing widgets, and Query Builder queries.
      The same Query ID value must be set in the filter widget, listing widget (CSS ID), and Query Builder.

4. Check Meta Field Settings

To ensure the Indexer works correctly with Meta Field source, follow these steps:

  1. If you're using a Filter based on a Checkbox meta field, make sure the "Save as Array" option is enabled.

  2. For a Date meta field used with a Date filter, ensure the "Save as Timestamp" option is enabled.

  3. Edit each post, CCT item, or user that has a meta field with incorrect values.

  4. Uncheck the options in the meta field and save the object.

  5. Reselect the correct options and save again.

  6. Repeat these steps for all relevant objects.

5. Re-Index Filters

If everything is set up correctly, but the issue persists, you can re-index the filters:

  1. Go to WordPress Dashboard > Smart Filters.

  2. Click the Apply Indexer button.

6. Re-Activate the JetSmartFilters Plugin

Deactivating and reactivating the JetSmartFilters plugin may also help resolve indexer issues:

  1. Go to WordPress Dashboard > Plugins.

  2. Deactivate and then activate the plugin again.

7. Contact Support

If you’ve followed all the steps and still encounter issues, please contact our support team for further assistance.

Did this answer your question?