Free by design. Powerful by default.
WPEnhanced Ajax Filter Blocks is an AJAX filter plugin for the WordPress block editor. Build filterable blogs, shops, directories, and listing pages where results update instantly—without a full page reload.
Most filter plugins lock the useful bits behind Pro. This one is built the other way around: the free version is intended to be the full product for most websites. Design controls, multiple filter types, AJAX results, custom fields, WooCommerce support, and custom post types are all included—no essential features paywalled.
Whether you run a WooCommerce store, a content-heavy blog, or a custom post type directory, you can create a modern faceted filtering experience using only blocks. No shortcode soup. No theme lock-in.
Put them together and you get a complete filterable archive—built in the editor, running live on the front end.
Filtering uses the WordPress REST API. When a visitor changes a filter, only the loop results refresh—keeping the rest of the page in place. Optional URL parameters keep filtered views shareable and bookmarkable.
Need help? Visit WP Enhanced for documentation and support.
When enabled, map and radius filtering can use Google Maps / Geocoding or OpenStreetMap Nominatim. See External services below for details.
This free plugin includes the features and design controls most websites need to build great AJAX filters.
A separate Pro add-on exists only for specialist / advanced scenarios—such as advanced catalog indexing (built-in index, Typesense, Cloud Index, Elasticsearch) and Auto Suggest phrase indexing. Those options are not required for normal filtering. Settings may mention them for discoverability. Filtering in this free plugin uses the standard WordPress query path.
Want Catalog Index, Auto Suggest, and advanced Pro controls? Upgrade to Ajax Filter Blocks Pro.
This plugin connects to third-party services when map and location filtering features are used.
Google Maps JavaScript API
Used to render interactive maps in Archive Loop map mode.
Data sent: API key and standard browser request data when the map script is loaded on pages using map mode.
Terms: https://cloud.google.com/maps-platform/terms
Privacy policy: https://policies.google.com/privacy
Google Geocoding API
Used to convert entered addresses into coordinates for radius-based filtering.
Data sent: address text entered for filtering and API key when geocoding is requested.
Terms: https://cloud.google.com/maps-platform/terms
Privacy policy: https://policies.google.com/privacy
OpenStreetMap Nominatim
Used as a geocoding fallback when needed.
Data sent: address text entered for filtering when fallback geocoding is used.
Terms: https://operations.osmfoundation.org/policies/nominatim/
Privacy policy: https://wiki.osmfoundation.org/wiki/Privacy_Policy
WP Enhanced InstantSearch (search.wpenhanced.com)
Used only in the admin settings screen to power in-plugin documentation search.
Data sent: the search query text typed by a site administrator in settings.
Terms: https://wpenhanced.com/terms-conditions/
Privacy policy: https://wpenhanced.com/privacy-policy/
Advanced catalog indexing (built-in index, Typesense, Cloud Index, Elasticsearch) and Auto Suggest phrase indexing are provided by a separate Pro add-on and are not included in this free plugin. Settings may mention those Pro features for discoverability only. Filtering in this free plugin uses the standard WordPress query path.
Human-readable source for the JavaScript and CSS shipped in this plugin (including minified files such as js/divi-filter.min.js, assets under includes/settings/dist/, and bundled code under blocks/build/) is maintained in this public repository:
https://github.com/wpenhancedltd/wpenhanced-ajax-filter-blocks-source
Clone that repository to review, study, or rebuild the compiled assets. It contains the same src/, blocks/src/, and includes/settings/src/ trees plus the package.json files and build configuration needed to run the toolchain.
Build tools: Install Node.js (an active LTS release such as v18 or v20 is recommended). From the root of that repository:
npm install then npm run build:assets to rebuild the main frontend JavaScript and CSS (webpack writes under js/ and css/ at the root of that repository; copy into the full plugin tree if you integrate that way).blocks directory, run npm install then npm run build (output: blocks/build/).includes/settings directory, run npm install then npm run build (output: includes/settings/dist/).Run npm install in each directory before its build command. The public repository’s README describes which folders to sync from the main plugin project when publishing updates. Some third-party scripts in the distributed plugin may ship minified only; original sources are available from those projects’ upstream distributions.