To enable Ajax product filters in WooCommerce, add the built-in “Filter Products by Attribute,” “by Price,” and “by Rating” widgets from Appearance > Widgets, or install a dedicated Ajax filter plugin if you need the results to refresh instantly without a full page reload.
Why Product Filters Matter for Larger Catalogs
- Customers browsing 100+ products without filters often give up before finding what they want
- Filtering by price, attribute, and category mirrors the experience shoppers expect from major marketplaces
- It’s one of the highest-leverage UX improvements for any catalog beyond a small handful of products
Option 1: WooCommerce’s Built-In Filter Widgets
Under Appearance > Widgets, add “Filter Products by Attribute,” “Filter Products by Rating,” and “Filter Products by Price” to your shop sidebar. These work automatically as long as your products have the relevant attributes, ratings, and prices set — no plugin required.
Limitation of the Default Widgets
By default, selecting a filter option triggers a full page reload rather than an instant Ajax-style update — this is the main reason many stores look for a dedicated Ajax filter plugin instead.
Option 2: A Dedicated Ajax Filter Plugin
An Ajax-specific filter plugin refreshes the product grid instantly as filters are selected, without reloading the page — closer to the smooth filtering experience customers are used to on large ecommerce sites.
A Small Code Example: Reading the Current Filter Query
If you’re building a custom filter UI on top of WooCommerce’s existing query structure, you can read active attribute filters like this:
/** Check which attribute filters are currently active on a shop/category page */
function get_active_attribute_filters() {
global $wp_query;
$active_filters = array();
foreach ( $wp_query->query_vars as $key => $value ) {
if ( 0 === strpos( $key, 'filter_' ) && ! empty( $value ) ) {
$active_filters[ str_replace( 'filter_', '', $key ) ] = explode( ',', $value );
}
}
return $active_filters;
}Troubleshooting
The Default Filter Widgets Don’t Appear
Confirm your products actually have attributes marked “Used for variations” or set as global attributes — the widgets only populate options from attributes that genuinely exist across your catalog.
Filters Reset When Navigating Between Pages
This is standard behavior with the non-Ajax default widgets, since each filter selection is a full URL-based page load — an Ajax filter plugin is the fix if this needs to feel more app-like.
Frequently Asked Questions
Do I need a plugin to filter by price range?
No — the built-in “Filter Products by Price” widget handles this natively, though it reloads the page rather than updating instantly.
Can filters combine, like color AND size at the same time?
Yes — WooCommerce’s attribute filtering supports multiple simultaneous attribute filters by default, whether using the built-in widgets or most dedicated Ajax plugins.
Will adding filters slow down my shop page?
A well-built Ajax filter plugin shouldn’t meaningfully slow things down; poorly optimized ones on very large catalogs can — test performance after installing on a staging copy first.
Conclusion
Enabling Ajax product filters in WooCommerce starts with the built-in widgets for a no-cost baseline, and steps up to a dedicated Ajax filter plugin once you need instant, no-reload filtering for a larger, more competitive catalog.
See also How to Add Ajax Quantity Selectors to the WooCommerce Shop Page. Then read How to Enable Catalog Mode in WooCommerce.
Prefer no code? All-in-One Utilities Woo Add-on adds over 50 WooCommerce features, so you can switch them on without code.