Skip to content
GPLWP Guides

How to add product filters to WooCommerce

WooCommerce Time About 30 minutes 6 steps Updated 12 Sep 2026

WOOCOMMERCE
The short answer

WooCommerce includes a Product Filters block for price, categories, tags, attributes, ratings and stock. Create global attributes first, then place the block beside the Product Collection on your shop template. For older themes or more control over AJAX layouts, use a dedicated filter plugin.

The route
  1. 01Decide what customers should filter
  2. 02Create global product attributes
  3. 03Add the Product Filters block
  4. 04Configure the filter behaviour
  5. 05Test the catalogue and fix gaps
  6. 06Use HUSKY for the fast route

What you need

  • A WooCommerce store with products assigned to categories or attributes
  • Administrator access to WordPress
  • A block-compatible shop template for the manual route

Decide what customers should filter

Choose filters that match how shoppers compare your products. Common choices are price, category, stock status, colour, size, brand and tags. Do not create an attribute for information WooCommerce already stores, such as SKU.

Use categories for broad product groups, tags for descriptive labels and global attributes for reusable characteristics such as size or colour. This keeps the filter list understandable as your catalogue grows.

Create global product attributes

Go to Products > Attributes. Add each reusable attribute, then add its terms, such as Small, Medium and Large under Size. Edit a product, open its Attributes section, choose Add existing, select the global attribute and assign the relevant terms.

Do not rely on a custom attribute created only inside one product if you want it to appear as a store-wide filter. For variable products, make sure the relevant attributes are assigned to the parent product and configured for variations where needed.

Add the Product Filters block

For the manual route, open Appearance > Editor > Design > Templates, select the Product Catalog template and add a Product Filters block near the Product Collection block. Add the individual filters you need, such as Price, Attribute, Category, Tag, Availability or Rating.

On a normal page rather than an archive template, place the Product Filters block inside the relevant Product Collection block. The filters are context-aware and need a product collection to know which products they should change.

Configure the filter behaviour

Select each filter and choose its attribute or display options. Attribute filters can use a list or chips, with optional product counts. Add an Active Filters block if you want shoppers to see selected options and remove them individually or clear everything.

Select the surrounding Product Collection block and leave Reload full page disabled for updates without a full page reload. On mobile, decide whether to enable Collapse filters on small screens so the controls open in a drawer instead of taking over the page.

Test the catalogue and fix gaps

View the shop as a customer and test one filter at a time, combinations of filters, clearing selections, pagination and mobile display. Check that every expected product has the correct category, tag or global attribute assigned.

If a filter shows no results, first check that you used a global attribute rather than a product-only custom attribute. Imported products are another common failure point: an attribute may be visible on the product page but not registered correctly for filtering, or may have been assigned only to a variation. Also check that the filter is connected to the correct Product Collection; a filter placed on an unrelated homepage collection may not affect the shop catalogue.

Use HUSKY for the fast route

If the block route is unavailable in your theme, or you need a more configurable sidebar with AJAX filtering, HUSKY – WooCommerce Products Filter is the quicker option. It can filter by attributes, categories, tags and price without a full page reload, and provides configurable layouts for desktop and mobile stores.

Install the plugin through the WordPress dashboard, activate it and configure the filters you want to show. Keep the same catalogue rules: use global attributes, assign terms consistently and test filters on category pages, product archives and small screens before publishing.

The fast route

Let HUSKY do it

AJAX filters by attributes, categories, tags, and price for stores needing faster product discovery without page reloads.

Get HUSKY

Sources

  1. woocommerce.com /document/woocommerce-product-search/blocks/product-filter-a…
  2. woocommerce.com /document/managing-product-taxonomies/?utm_source=openai
  3. woocommerce.com /document/woocommerce-store-editing/customizing-shop-page-ca…
  4. wordpress.org /support/topic/filter-by-attribute-not-working-on-twenty-twe…

Questions

Does WooCommerce have product filters built in?
Yes. Current WooCommerce includes a Product Filters block for price, rating, attributes, availability, categories, brands and tags. Add it to a Product Catalog template beside the Product Collection block, or place it inside a Product Collection on a normal page. The block updates results without a full page reload unless that option is enabled.
Why is my WooCommerce attribute missing from the filter?
The most common reason is that the value was created as a custom attribute on one product instead of as a global attribute under Products > Attributes. Create the attribute globally, add its terms, then assign it to the products. Imported catalogues can also fail when attributes are stored only on variations or are not registered as usable product taxonomies.
Can I add more than one attribute filter?
Yes. Add separate Attribute filters inside the Product Filters block and select a different global attribute for each one, such as Color and Size. Do not simply duplicate a filter without changing its selected attribute. Each filter should be tested with the Product Collection that displays the products it is meant to control.
Do product filters work without AJAX?
Yes. WooCommerce can reload the storefront after a shopper applies or removes a filter by enabling Reload full page on the surrounding Product Collection block. Leaving that setting disabled gives the usual no-reload experience. A dedicated plugin is useful when you need more filter styles, broader theme compatibility or detailed AJAX controls.