Checkbox filter
The most flexible module in the builder - a list of choices that can look like almost anything.
In short
The Checkbox Filter shows a list of terms or values for visitors to choose from - read from a taxonomy, or built by hand from a custom field. Each item is built from up to four parts - a checkbox, an icon or colour swatch, the text, and a count - and you decide which of them appear. Where those parts sit relative to each other is set on the Design tab, which is what lets the same module read as a plain list, a row of buttons, or a grid of colour swatches. Selection can be multiple or single, and a long list can be cut short with Show More. Four things here need Pro: the Custom Field source, the WooCommerce Product Filters, Show More, and the label’s icon and collapse.
What you can build with it
It's worth knowing up front what this module is capable of, because the name undersells it. There are no style presets to choose from - every one of these is the same module with different parts switched on and arranged differently:
- A plain text list, with no checkboxes at all.
- The familiar checkbox list, with or without counts.
- A row of buttons, inline or full width.
- Buttons carrying an icon or an image.
- A grid of colour swatches, with the names shown, hidden, or on hover.
So the question when you open this module isn't which style to pick. It's which parts you want, and how they should sit together.

One module, three arrangements.
Data Source
First, what the list is made of. Data Source has two tabs, Taxonomy and Custom Field, and the Taxonomy tab groups what it offers into three sets.
| Source | What it lists | Plan |
|---|---|---|
| Taxonomies | Categories, tags and any custom taxonomy on your site. | ✓ FREE |
| Attributes | WooCommerce product attributes such as colour or size. | ✓ FREE |
| Product Filters | WooCommerce stock status, on sale and rating. | ★ PRO |
| Custom Field | The values held in a custom field. | ★ PRO |
Product Filters: the things a shopper actually asks for
Categories and attributes describe what a product is. With CAF Pro, the Product Filters set adds what shoppers ask about instead - in stock, on sale, and rating. These are not taxonomies, so there is no way to build them from the free source list; Pro reads them from WooCommerce directly.
Pick a source and its terms are listed with a checkbox each, so you can offer all of them or only some. Two small controls sit beside every term: one sets that term's own colour or icon, and the other marks it as a default - a term that starts out already selected when the page loads. You can set more than one default.

Choose the terms to offer, and set colours, icons or defaults per term.
Using a custom field instead
Filter by custom fields, not just taxonomies
Plenty of what people want to filter by was never filed as a category - a bedroom count, a year, a material, a field your theme or ACF added. With CAF Pro, the Custom Field source builds the filter from those values instead, so you can offer the choice without first restructuring your content into taxonomies.
A taxonomy already knows its own terms, so the list builds itself. A custom field doesn't - the values live on individual posts, and CAF has no way of guessing which of them you want offered. So with Custom Field selected you build the list yourself, in three steps.
- Choose the field, by its meta key.
- Choose the comparison - how a visitor's choice is matched against the stored value
- Add the values, one at a time, and each becomes an item in the filter.
Advanced Options holds a Meta Type for the field, which tells CAF what kind of value it's dealing with - worth setting when the values are numbers rather than text, so they're compared as numbers. Add Field adds a second field to the same module if one isn't enough.
Everything else works exactly as it does with a taxonomy. Each value can carry its own colour or icon, and can be marked as a default so it starts out selected - the same two controls, in the same place, doing the same job.

The values you add become the items in the filter.
Icons and images per term
An icon can come from the built-in library, or you can upload your own as an SVG or PNG. The choice is made per term, not once for the whole list - so a few terms can carry library icons while others use artwork of your own, in the same filter.
Uploaded images are used at the size you supply them, so prepare them before uploading: consistent dimensions across the set, and no larger than they need to be. A mix of sizes shows up immediately as items that don't line up.

Choose from the library or upload an SVG or PNG.
Note
Attributes and Product Filters read WooCommerce data, so they only appear on a site running WooCommerce. Taxonomies and custom fields work with posts and custom post types too.
How visitors select
Allow Multiple Selection decides whether a visitor can pick several items or only one. Turn it off and the list behaves like a set of radio buttons - choosing something clears the previous choice.
Turn it on and a relation dropdown appears alongside, setting how the chosen terms combine: OR returns anything matching at least one, AND returns only what matches all of them. It's the same distinction described on Building the query, applied to what the visitor picks rather than what you set.
The four parts of an item
Each item in the list is assembled from up to four parts, and each has its own switch. Turn on all four, any two, or just one.

Each part switched on or off independently.
| Part | Setting | What it adds |
|---|---|---|
| Checkbox | Show Checkbox | The box itself. Off, and the item is just its content - which is what turns a checkbox list into a row of buttons. |
| Icon/Image or Colour Swatch | Show Icon / Color Swatch | The colour, icon or uploaded image you set against each term. |
| Text | Always shown | The term name, or the custom field value. |
| Count | Show Count | How many results carry that term. |
Two of them carry a further choice. Display As decides whether the second part shows as a Colour Swatch or as an Icon/Image - one or the other, never both on the same term. Whichever you choose sits in front of the term name or field value, so the visitor sees the swatch or icon first and the text after it. With Colour Swatch selected there's an extra option for the text: Show it, Hide it so the swatch stands alone, or put it in a Tooltip so the name appears on hover, which is how a colour grid stays compact without becoming a guessing game.
Show Count adds a Separator, deciding how the number is set apart from the text: brackets, a hyphen, nothing at all, or a custom character of your own.
Show More
A taxonomy with forty terms shouldn't fill a sidebar. Show More cuts the list to a set length and adds a link to open the rest.
Show More: long lists that stay usable
Without it a filter shows every term you offer, so a large taxonomy either fills the sidebar or has to be trimmed by hand. With CAF Pro, Show More caps the list at a length you set and puts the rest behind a link - with your own wording for opening and closing it, and a count of how many are still hidden.
| Setting | What it does |
|---|---|
| Visible Limit | How many items show before the list is cut. |
| Show More Label | The wording on the link that opens the rest. |
| Show Less Label | The wording on the link that closes it again. |
| Show Remaining Count | Adds how many are still hidden, so the link says how much more there is. |
| Separator | How that number is set apart - brackets, a hyphen, nothing, or a custom character. |

A long taxonomy cut to a few items.
Filter Label
The label above the module, with the same options as every other filter module: Enable turns it on, and Label Text is the wording. See Search filter for the same settings in context.
A label that collapses, and carries an icon
With CAF Pro the label gets two more options: Show Icon puts an icon beside the wording, and Enable Collapse lets visitors fold the whole list away by clicking it. Collapse is the one that earns its keep on a sidebar carrying several filters - a visitor can close what they have finished with instead of scrolling past it.
Arranging the parts
This is where the module earns its reputation. On the Design tab, Single Item holds a Layout group that doesn't arrange one thing - it arranges three pairings, each covering two parts of the item.
| Pairing | What it arranges |
|---|---|
| Checkbox + Content | The checkbox against everything else. Whatever else the item holds - icon, text, count - counts as the content, and moves together. |
| Icon + Text | The icon or colour swatch against the text. It sits in front of the text by default, and reversing the direction here puts it after. |
| Text + Count | The text against the count. |
Each pairing gets the full set of flex controls: Direction for the order they run in and which comes first, Align X and Y for how they line up, and Gap for the space between. The alignment options are the same ones used throughout the builder - top, centre and bottom; left, centre and right; space between, space around and space evenly.
Only the pairings that apply are offered. With just a checkbox and text, Checkbox + Content is the only one there; switch on the icon and the count and all three appear.

Each pairing arranges two parts of the item.
Careful
With all three pairings available, only change one at a time. For one to behave properly the other two need to be at their default values - the reset icon beside each control puts a setting back. The three overlap, because they're arranging parts of the same item, so unusual directions on all three at once produce results that fight each other. Get one doing what you want, reset the others, then move on.
Styling each part
The Design tab has three tabs of its own: Container for the block the list sits in, Single Item for the items themselves, and Show More for the link that opens the rest of a long list. Each carries the usual groups - Text, Sizing, Spacing, Background, Border and Box Shadow - so the show more link can look nothing like the items above it.
Inside Single Item, the groups go a level deeper still. Each one offers a target per part - Item for the whole thing, then Checkbox, Icon and Count individually - so the count can be smaller and lighter than the term name, or the checkbox a different colour from everything around it.
Alongside those sit three states: Default, Hover and Selected. Selected is the one that matters most here. It's what tells a visitor which choices are currently applied, and on a button or swatch layout - where there's no tick to give it away - it's the only thing that does.

Every part styled separately, in each of its three states.

The Selected state doing the work a checkbox would otherwise do.
Tip
Build it in the order the visitor reads it. Decide which parts belong in an item, get them showing, and only then arrange them. Arranging first, then switching parts on, means redoing the layout each time something new appears.
FAQ
How do I make it look like buttons instead of checkboxes?
Build it in the order the visitor reads it. Decide which parts belong in an item, get them showing, and only then arrange them. Arranging first, then switching parts on, means redoing the layout each time something new appears.
How do I get colour swatches?
Set a colour against each term in the source list, switch on Show Icon / Color Swatch, and set Display As to Color Swatch.
Can I hide the term names under the swatches?
Yes - set the swatch's Label to Hide, or to Tooltip so the name appears on hover.
Can a term have both a colour and an icon?
No - it's one or the other.
Where does the icon or swatch appear?
In front of the term name or field value. Reverse the Icon + Text direction under Single Item to put it after instead.
Why doesn't the custom field list its values automatically?
Values live on individual posts rather than in a list of their own, so you add the ones you want offered - field, comparison, then the values.
Can I filter on more than one custom field in the same module?
Yes - Add Field adds another.
My numeric custom field is sorting oddly.
Set the Meta Type under Advanced Options so the values are treated as numbers rather than text.
Can I use my own artwork instead of the icon library?
Yes - upload an SVG or PNG. You can do it per term, so some terms use library icons and others your own.
My uploaded images are different sizes and the list looks uneven.
Images are used at the size you supply. Prepare them at consistent dimensions before uploading.
How do I show visitors which items they've chosen?
Style the Selected state under Single Item. On a button or swatch layout it's the only signal they get.
Can the count look different from the term name?
Yes. Single Item offers a target per part - Item, Checkbox, Icon and Count - so each can be styled on its own.
How do I have some terms selected when the page loads?
Mark them as defaults in the source list. More than one can be set.
Can visitors pick only one option?
Yes - turn Allow Multiple Selection off and the list behaves like radio buttons.
What's the difference between OR and AND here?
OR returns results matching any of the visitor's choices; AND returns only those matching all of them.
My layout changes are doing odd things.
You've probably changed direction on more than one pairing. Return two of them to their defaults and adjust one at a time.
Why is a layout pairing missing?
Its parts aren't both switched on. Icon + Text needs the icon showing; Text + Count needs the count.
My list is too long for the sidebar.
Switch on Show More and set a Visible Limit. Show More is a Pro feature.
Was this page helpful?
Thanks for your feedback!
