Supercharge your WooCommerce store with fast, flexible, SEO-optimized filtering.
Give customers real-time filtering, rich UI controls, and faster product discovery.
Dynamic AJAX Product Filters for WooCommerce is a fast, SEO-friendly AJAX product filter plugin for real-time product discovery. Customers can filter by category, tags, attributes, price, rating, search, brand, stock, sale, dimensions, SKU, product ID, discount, and dates without page reloads. Pro adds selected custom taxonomies, custom fields, featured products, exclusions, desktop layouts, and WPML-compatible filter strings.
The Pro upgrade adds brand mapping, dimension controls, advanced pagination, AJAX sorting, custom loop selectors, shortcode builder options, and multilingual filter support.
Filter by Length, Width, Height – Useful for furniture, apparel, and equipment.
Filter by Weight – Useful for shipping and sizing.
Dimension Visibility & Order – Choose and order dimension filters.
Dynamic Dimension Ranges – Use range controls for measurable data.
Date-Based Filters
Filter time-based products:
Show products from: Today, This Week, This Month, This Year.
Specific Date Range (From–To): Useful for seasonal or scheduled products.
✅️ Multiple URL & AJAX-Based Filtering Methods
Use SEO, URL, and AJAX filter modes.
1. Query string-based filters
Format: ?filters=brand,size,color
Example: ?filters=adidas,l,blue
2. Query String Filtering with Key Prefixes
Format: ?filters=1&brand=adidas&size=l&color=blue
3. Clean Permalink-Based Filtering
Format: /filters/brand/size/color
Example: /filters/adidas/large/blue
4. Permalink Filtering with Key-Value Pairs
Format: /filters/brand=adidas/size=l/color=blue
5. AJAX-Based Filtering (No URL Change)
Dynamic filtering via AJAX without changing the URL.
6. Real-Time Dynamic AJAX Filters
Instant filtering as users select options.
Advanced URL and Redirect Controls
Manage filter words, permalink prefixes, route parsing, and redirects.
✅️ Full Widget & Shortcode Support
Available Shortcodes
Add filters anywhere:
[plugincy_filters] – Display the full filter set.
[plugincy_filters_single name=”attribute_slug”] – Show one filter group.
[plugincy_filters_selected] – Show selected-filter chips.
Shortcode Builder & Attributes
Build [plugincy_filters] visually in the admin shortcode builder, Elementor, or Gutenberg.
Configure layout, mobile_responsive, product_selector, pagination_selector, per_page, category, tag, attribute, terms, and URL settings; Pro unlocks drawer side, collapsible desktop filters, close-on-apply behavior, operators, redirects, and the full six desktop layouts.
Use full filter, single filter, and selected filter widgets or blocks with separate style controls.
Built-in Dynamic AJAX Filter Widget & Block
Use widget and block support with Elementor and the Block Editor.
✅️ Mobile-Friendly & Responsive by Design
Optimized for mobile shoppers:
Choose from 4 mobile friendly styles:
Style 1, Style 2, Popup, and Drawer
Touch-friendly controls
Smooth navigation across screen sizes
Set drawer side, sidebar-on-top behavior, mobile breakpoint, and close drawer/popup after apply.
✅️ Built-in SEO Optimization
SEO-ready AJAX filters:
Create SEO-friendly, crawlable permalinks
Customize SEO titles, meta descriptions, and metadata
Enable anchor-based navigation
Use AJAX-only mode when SEO URLs are not needed
???? Advanced Filter Design & UI:
Build a modern filter UI for your WooCommerce store.
Multiple UI Elements
Filter UI options:
Dropdowns
Checkboxes
Radio Buttons
Sliders
Color Swatches
Images
Icons
Chips
Button Check
Input Fields
Stepper
Dimensions
Advanced Date Range
Advanced Rating System
Expanded Pro Style Variants
Chips, button chips, chip dropdowns, modern dropdowns, checkbox dropdowns, and steppers.
Rating text, dynamic rating, rating chips, and rating sliders.
Input price range, chart slider, price range button, and price cards.
Color, image, button, icon, badge, and icon-only styles.
Dimension ranges, SKU buttons, discount sliders, and calendar layouts.
Upgraded Dropdowns with Select2
Searchable styled dropdowns.
New Filter Styles
Modern filter layouts for store themes.
Collapsible Widget Options
Expandable groups for long lists.
Customizable Filter Widgets via Elementor & Gutenberg
Manage order, visibility, and style in builders.
Advanced Term Controls
Order, include/exclude, logic, counts, tooltips, and term search placement.
Filter Visibility Control
Choose global or page-specific placement.
Different Filters for Different Pages
Assign unique filter sets per page or catalog area.
Customizable Loader
Use built-in loaders or Pro custom HTML/CSS.
⚡ Compatibility & Performance:
Optimized for speed, SEO, and WooCommerce compatibility.
Speed Optimized
AJAX updates, selectors, cache data, and admin controls.
Works with Custom & Premium Themes
Supports WooCommerce-compatible themes.
Built-in WordPress Widget Support
Add filters to widget-ready areas.
Loop and Builder Selectors
Set product, pagination, sorting, count, and shortcode selectors.
Storefront UX Controls
Apply/reset behavior, defaults, stock removal, no-products text, Select2 placeholders, and Pro AJAX UX controls.
Large Catalog Cache Handling
Database-safe cache tools, background rebuilds, Action Scheduler, WP-Cron, status tools, and manual refresh.
Accessibility and Pro Multilingual Support
Accessibility hardening plus Pro WPML strings, taxonomy data, caches, and labels.
Search by Text Field
Let shoppers type search keywords in the filter panel.
???? Pro Features – Unlock the Full Power:
Pro adds advanced filter control, styling, SEO URLs, multilingual support, and maintenance tools.
Selected Custom Taxonomy Filters
Choose which custom product taxonomies appear.
Brand Taxonomy Auto/Manual Mapping
Map WooCommerce, PWB, YITH, BeRocket, JetEngine, supplier, manufacturer, product_brand, product_brands, pa_brand, and other brand taxonomies.
Featured Product Filter
Filter WooCommerce featured products.
Yes. Dynamic AJAX Product Filters for WooCommerce works with standard WooCommerce archive markup and includes selectors for custom product loops, pagination, sorting, and result-count areas.
How Can I Configure the Filter Options?
Simply go to the WordPress admin, locate the “Product Filters” section, and customize the filter options based on your store requirements.
Does the Plugin Support Custom Permalinks?
Yes, the plugin supports custom permalink structures, allowing filtered pages to align with your store’s permalink setup.
Is the Plugin Compatible With Variable Products?
Yes. Dynamic AJAX Product Filters for WooCommerce supports filtering variable products by attributes and supported variation-aware product data where WooCommerce exposes it.
Does This Plugin Support Shortcode Usage?
Yes. Use [plugincy_filters] for the full filter set, [plugincy_filters_single name="pa_color"] for one filter group, and [plugincy_filters_selected] for selected-filter chips. The shortcode builder supports core layout/mobile/selector/URL options, while Pro unlocks drawer, popup, redirect, operator, and full desktop layout controls.
Can I filter by custom taxonomies, brands, featured products, and product exclusions?
Yes. The Pro version supports selected custom taxonomy filters, featured product filters, brand taxonomy auto/manual mapping, and exclusion rules for products, categories, tags, brands, and custom taxonomy terms.
Does it support advanced pagination, AJAX sorting, and custom theme selectors?
Yes. Pro supports numbered pagination, numbered pagination with previous/next, load more, infinite scroll, AJAX sorting, result-count selectors, product shortcode selectors, and custom selectors for WooCommerce loops or builder loops.
Can I build filters with Elementor, Gutenberg, and shortcodes?
Yes. You can use Elementor widgets, Gutenberg blocks, [plugincy_filters], [plugincy_filters_single], [plugincy_filters_selected], and the shortcode builder with layout, mobile, redirect, selector, operator, and URL settings.
Does the Pro version support WPML?
Yes. Pro includes WPML compatibility for saved option strings, translated taxonomy/product filter data, language-aware filter caches, and current-language frontend labels.
Security: escaped the storefront search value at its HTML attribute output boundary to prevent reflected attribute injection.
Security: normalized allowlisted permalink query values in scalar and array forms, preventing malformed public filter URLs from causing PHP errors.
Compliance: removed external Pro license/download/install/activation execution from the WordPress.org build and replaced it with a manual download/upload workflow.
Performance: bounded title-search ID queries to the configured large-catalog threshold.
Maintenance: normalized readme section headings and upgrade notices for WordPress.org parser compatibility.
Fixed: when product-category and cata are both present, the plugin now captures both aliases for filtering and removes the duplicate raw product-category query key before themes or page builders can consume it.
Fixed: category filtering now canonicalizes product-category and cata into one WooCommerce product_cat query and removes duplicate alias-generated category constraints.
Fixed: category filtering now accepts both product-category and cata request keys and keeps explicit category selections from merging with default product-grid categories.
Fixed: category AJAX requests now use the configured safe permalink prefix, preventing page builders from consuming the canonical category field before the product query is filtered.
1.6.2
Converted: Widget Title Icon controls in Form Style to a disabled Pro-only preview, added admin CSS for that UI, and updated the plugin ZIP.
Fixed: shortcode/storefront URL parsing for shop, category, tag, attribute, and brand routes; stripped route/pagination/filter-word segments before reading URL filters; improved filter option counts when no product filter is active; removed the ZIP.
Normalized: hex color handling in PHP and admin JS; rebuilt dynamic sub-option rendering with safer DOM creation; synced hidden defaults and nonce from AJAX responses; restored missing WooCommerce archive controls after AJAX updates.
Updated: assets/images/slider.png.
Fixed: dimension inputs so fields stay empty until shopper input; added Min (%s) / Max (%s) placeholder support with catalog bounds; made number inputs trigger filtering; improved dimension reset and active chip labels; added Playwright-related .gitignore rules.
Security/localization cleanup: escaped nonce/action/icon output, fixed text domains, added direct-access guard, tightened SQL preparation for custom fields, added translator comments, updated readme requirements, removed duplicate old changelog blocks, and removed ZIP.
Large WordPress.org-style cleanup: moved raw inline scripts/styles into enqueued inline helpers, localized AJAX URL/nonces, added/strengthened nonce and capability checks, sanitized admin tab handling, replaced json_encode() with wp_json_encode(), improved privacy disclosure, and escaped/sanitized output across admin, Elementor, analytics, filter, review, and frontend injection paths.
Clarified: read-only nonce handling for fragment/shareable filter requests, wrapped fragment shutdown cleanup in a named function, and made canonical redirect pagination detection read from the requested URL query.
Removed: duplicate template activation AJAX handler, documented why the attributes REST route is public, sanitized attribute/custom-field data, and limited custom-field exposure to enabled settings plus admin/WooCommerce capability.
Replaced: direct product-count SQL with wp_count_posts(), switched plugin-active checks to WordPress plugin APIs, refined prepared aggregate queries for custom fields/cache hydration, and added PHPCS justifications for required WP_Query and database-mode filter operations.
Optimizes: min/max price calculation by indexing target product IDs and skipping invalid prices, with fallback to all products when filtered bounds are unavailable.
Fixes: term sorting so menu_order is treated as a real sort mode instead of being skipped.
Removes: a duplicated search placeholder setting block from Form Style.
1.6.1
Added: large-catalog database-safe mode to avoid building full serialized filter/product-detail caches on very large stores.
Added: background batched filter-cache rebuilds with Action Scheduler support and WP-Cron fallback.
Added: cache build locks, stale-run handling, failure protection, retry/status tracking, and batch delays for slow servers.
Added: admin Cache Status display and a Refresh Filter Cache action.
Added: admin notices for queued cache refreshes, database-safe mode, failed cache builds, and large-catalog status.
Added: lightweight database-mode filter data for categories, tags, brands, attributes, authors, stock status, sale status, and custom fields.
Added: database-derived min/max price and dimension bounds for large-catalog mode.
Improved: sale-status and dimension filtering in database-safe mode using SQL checks against parent and variation product rows.
Improved: cache clearing to remove new cache transients, build-state options, locks, and scheduled background jobs.
Cancelled: background cache jobs on plugin deactivation.
Preserved: existing settings on initialization by merging defaults instead of overwriting saved options.
Improved: SEO permalink prefix defaults from registered attributes and excluded-attribute settings.
Improved: shortcode rendering in database-safe mode by avoiding full product-details loading.
Fixed: array_intersect() errors with empty or single filter sets by adding a safe intersection helper.
Fixed: PHP 8 keyed-array unpacking issues when building default filter data.
Fixed: plugin row meta matching by correcting the plugin base-name constant.
Fixed: disabled filter groups rendering hidden markup; disabled filters are now skipped from output.
Reduced: frontend localized data to only the needed option, style, SEO, and selector settings.
Removed: disabled filter prefixes from the frontend permalink prefix map.
Added: enabled-filter cache signatures so database-mode cache data does not reuse stale disabled-filter data.
Fixed: advanced pagination page detection by preferring page numbers from the clicked URL.
Fixed: pagination number parsing for values containing commas or spaces.
Added: Form Style preview/options for color swatch label, chip dropdown, modern dropdown, checkbox dropdown, icon styles, chips, button chips, steppers, chart slider, range button, range card, rating slider, dimension range, SKU search styles, discount slider, and date layouts.
Added: Pro-lock handling for the new premium style previews in the free plugin.
Added/updated: admin CSS overlays for the new Pro-only style options.
Added: widget title icon enable/picker controls in Form Style.
Adjusted: dimensions, SKU, discount, and date filter style controls so they show their relevant style choices instead of being treated as simple-only controls.
Added: renderer fallbacks so Pro-only preview style keys render safely in the free plugin.
1.6.0
Added: an interactive shortcode builder for the full [plugincy_filters] shortcode
Added: editable shortcode parameters for layout, category, tag, attribute, terms, product selector, pagination selector, mobile responsive style, products per page, URL filter mode, permalink attribute type, redirect options, and Pro-only operators
Added: an interactive shortcode builder for the single filter [plugincy_filters_single] shortcode
Added: searchable WooCommerce attribute selection for the single filter shortcode builder
Added: Pro preview controls for brand taxonomy mapping
Added: Pro preview controls for dimension visibility and ordering
Added: a Pro-only featured products filter setting in Form Manage
Added: a Pro-only product exclusion settings preview in Advanced Settings
Added: a Pro-only browser history step navigation setting
Added: a Pro-only “Image With Value” filter style option and preview asset
Added: Redirect When Products Missing Pro option to the Gutenberg block and Elementor widget
Improved: dimension filtering for variable products by matching against effective variation dimensions instead of only parent product meta
Improved: dimension filtering consistency across archive, shortcode, REST, and third-party grid queries
Added: cached dimension product ID matching for dimension filters
Added: dynamic dimension min/max bounds so dimension filter inputs use valid product-based ranges
Prevented: default/unmodified dimension ranges from being added to AJAX and visible URLs
Normalized: scalar filter values from URL/default filters to avoid array values leaking into price, dimension, SKU, discount, search, and date fields
Updated: product details cache key to include variation dimension rows
Updated: cache clearing to delete the new product details cache key
Improved: reset behavior so WooCommerce sorting controls return to their default state when filters are reset
Improved: reset behavior by clearing explicit AJAX ordering state
Fixed: hierarchical category term search layout so parent rows, child rows, and plus/minus toggles hide/show correctly
Fixed: category search layout wrappers for parent and child category groups
Fixed: price input and slider labels/placeholders so empty saved values fall back to defaults
Fixed: Dimension, SKU, Discount, and Minimization style settings not saving correctly by skipping disabled fields during style sync
Fixed: Select2 cleanup/close logic to use the correct free plugin filter object
Improved: search container layout width
Preserved: selected excluded attributes when saving Advanced Settings
1.5.9
Improved: performance
Fixed: price related issue
Fixed: on product empty filter related issues
1.5.8
Added: advanced pagination settings with explicit modes: number, number_prev_next, load_more, and infinite_scroll
Added: custom selectors for pagination pieces: previous, next, load-more trigger, and infinite-scroll trigger
Added: advanced selectors for WooCommerce sorting and result count wrappers
Added: more selector-related settings in the admin
Added: more layout options top_view_wrap, popup, popup_horizontal_wrap, and drawer
Added: advanced-setting wait cursor, overlay, smart auto scroll, pagination via AJAX, and sorting via AJAX
Improved: AJAX sorting support so orderby is preserved and handled through both normal query params and SEO permalink prefixes
Improved: URL-related behavior for filters, pagination, and sorting together
Improved: category hierarchy rendering so child categories and toggle controls behave more consistently
Fixed: pagination detection issues, especially where custom pagination was being treated as load more, or previous/next links were not recognized correctly
Fixed: filter state persistence after reload, so selected filters are restored more reliably from the URL/request
Fixed: category filter layout/hierarchy issues, including collapse/rotate behavior and select/select2 handling
Fixed: settings/style save issues by merging nested option values more safely instead of overwriting them
1.5.7
Fixed: top view layout style related issues
1.5.6
Fixed: form style save changes related issues
1.5.5
Added: label management for rating
Fixed: category operator issue in shop page
Fixed: seo issue with permalinks
Fixed: label empty related issues
Fixed: button check, color circle & color value settings related issue
Fixed: attribute title show instead of slug
Fixed: brand & attribute archive filter related issues
1.5.4
Added: pagination support to SEO permalinks and enhance pagination handling in filters