Product Filters

Product Filters adds filters for categories, attributes, price, rating, stock and custom fields to your shop. Customers narrow the products down and the page updates without reloading.

Requirements

  • WordPress 6.8 or newer
  • WooCommerce 10.0 or newer
  • PHP 7.4 or newer
  • Works with classic and block themes, the Cart and Checkout blocks, and High-Performance Order Storage.

Installation

  1. Download product-filters.zip from My account > Downloads.
  2. In WordPress, go to Plugins > Add New Plugin > Upload Plugin, choose the zip file and click Install Now.
  3. Click Activate. Settings are under WooCommerce > Settings > Filters, and filter sets under Products > Filter sets.

Quick start

  1. Go to Products > Filter sets and add a filter set.
  2. Add filters, such as Category, Price and an attribute, and choose how each one shows.
  3. Under Where it shows, tick the shop and category pages.
  4. Add the Product filters block to your shop template’s sidebar, or tick Above the products to show the set as a bar above the products.

Filter sets

A filter set is a group of filters shown together. Each filter has a source (what it filters by), a display (how it looks), a label and a URL key. Drag filters into order.

The filters of a set.
The filters of a set.

What you can filter by

Categories, tags, brands and custom taxonomies; product attributes; price; rating; availability, on sale, featured and new arrivals; weight, length, width and height; custom fields; and a keyword box.

  • Checkboxes, radio buttons, dropdowns, buttons, color swatches, image swatches, sliders, stars and switches
  • “Any of” or “all of” logic per filter
  • Start closed, show a few options with “Show more”, or add a search box to long lists

Color and image swatches

Set the color of each attribute value under Products > Attributes, in the value’s edit screen. Two colors make a split swatch. Image swatches use the image you choose for each value.

Color swatches and category checkboxes with counts.
Color swatches and category checkboxes with counts.

Where filters show

Under Where it shows, choose the page types (shop, categories, tags, brands, attributes, search) and, if you like, only some categories. The first set that matches a page is used.

Place the set with the Product filters block, the widget or the shortcode [pfpr_filters set="123"], or tick Above the products for a bar above the products without editing templates.

Where a set shows.
Where a set shows.

Phones

Below the breakpoint you set (768 pixels by default) the filters move behind a Filters button that opens a drawer. The drawer’s button shows how many products match.

The filter drawer on a phone.
The filter drawer on a phone.

SEO pages

Filtered pages carry a noindex tag and point to the clean page, so they don’t compete with your categories. To make one combination rank, add one on the SEO pages tab of Products > Filter sets: choose the listing and the filter values, then write a heading, intro, title and description. The page is indexed and added to the sitemap.

An SEO page for one filter choice.
An SEO page for one filter choice.

Choose Path under Filter URLs for addresses such as /shop/filter/color/green/. Query strings, such as /shop/?color=green, work with every setup.

Filter usage

The usage report lists the filter values customers chose most, by week, month or year. It counts choices, not people, and stores no personal data.

The usage report.
The usage report.

Settings

SettingWhat it does
Without reloadingUpdate the products in place instead of reloading the page.
Results updateWith every choice, or when the customer clicks Apply.
More productsPage numbers, a Load more button, or loading on scroll.
CountsShow the number of products next to each option.
Options without productsHide them, or show them greyed out.
Chosen valuesWhere the chosen values show with their remove links.
Phones, Drawer belowUse the filter drawer on screens narrower than this width.
Accent colour, Swatch sizeThe color of selected options and the size of swatches.
Filter URLs, Path wordQuery string or path addresses for filtered pages.
Search engines, Page title, SitemapKeep filtered pages out of search results, add values to the page title, and list SEO pages in the sitemap.
Usage reportCount which values customers choose.
Remove dataDelete sets, SEO pages, the index and settings when the plugin is deleted.

For developers

HookUse
pfpr_sourcesAdd or change filter sources.
pfpr_filter_dataThe options of a filter before it is shown.
pfpr_filter_product_idsThe product IDs that match the chosen filters.
pfpr_index_rowsThe index rows saved for a product.
pfpr_before_filtersRuns before a set is shown.
pfpr_after_filtersRuns after a set is shown.
pfpr_admin_capabilityThe capability needed to manage filters.

Copy files from public/templates/ to yourtheme/product-filters/ to change the markup of a set, a filter or the chosen values.

Frequently asked questions

How do I filter WooCommerce products by a custom attribute?

Add a filter to a set and choose the attribute as its source. Global attributes (Products > Attributes) and custom fields both work.

How do I add a product filter in WooCommerce?

Create a filter set, then add the Product filters block to your shop sidebar, or tick Above the products in the set.

Why does a filter show no options?

Options without products are hidden by default. Check that the products in the current listing have values for that attribute or field.

Can I import my filter sets on another store?

Yes. Export sets and SEO pages to a file on the Import and export tab of Products > Filter sets, and import the file on the other store.

Changelog

1.0.0 · October 19, 2026

  • Filter sets with categories, attributes, price, rating, stock, sale, dimensions, custom fields and a keyword box.
  • Checkboxes, buttons, swatches, sliders, stars and switches with live counts.
  • Filter drawer on phones, chosen values and Clear all.
  • SEO pages, noindex for filtered pages and a usage report.