Title: CodeBold Smart Filters
Author: codeboldtech
Published: <strong>September 15, 2026</strong>
Last modified: September 15, 2026

---

Search plugins

![](https://ps.w.org/codebold-smart-filters/assets/banner-772x250.png?rev=3696211)

![](https://ps.w.org/codebold-smart-filters/assets/icon.svg?rev=3696211)

# CodeBold Smart Filters

 By [codeboldtech](https://profiles.wordpress.org/codeboldtech/)

[Download](https://downloads.wordpress.org/plugin/codebold-smart-filters.0.8.6.zip)

 * [Details](https://wordpress.org/plugins/codebold-smart-filters/#description)
 * [Reviews](https://wordpress.org/plugins/codebold-smart-filters/#reviews)
 *  [Installation](https://wordpress.org/plugins/codebold-smart-filters/#installation)
 * [Development](https://wordpress.org/plugins/codebold-smart-filters/#developers)

 [Support](https://wordpress.org/support/plugin/codebold-smart-filters/)

## Description

Filters for WooCommerce shop and category pages.

 * Filters on any product attribute you have created — size, colour, material
 * Categories, brands and tags, without turning them into attributes as well
 * Price range, in-stock only, and on-sale
 * A live count against every option, so nobody clicks their way to an empty page
 * Options that would return nothing are shown greyed rather than hidden, so the
   shop’s
    range stays legible
 * The shopper’s choices live in the address, so a filtered list can be bookmarked,
   
   shared, and reached with the back button
 * Works before JavaScript loads. The script only replaces the results in place 
   so the
    shopper keeps their scroll position
 * A search box on any group long enough to need one, so ninety brands is still 
   one you
    can find
 * One settings screen, with the panel drawn beside it as you change it — drag the
   groups
    into the order you want, rename any of them, and see it before you save
 * A block for block themes, a widget for sidebars, and an Elementor widget with
   its own
    Style tab

Placed above the products automatically, or with the widget or the
 [codebold_filters]
shortcode.

The plugin, and the rest of the CodeBold Commerce suite, are at
 https://codeboldcommerce.
com/smart-filters/ — that is where the documentation lives and where support is 
answered.

A CodeBold IT Solutions product. https://codeboldtech.com

### External services

This plugin makes no request to any server, ever — not ours, not anyone else’s. 
There is
 no licence check, no registration, no usage tracking and no telemetry.
Nothing leaves your site when a shopper filters your shop, and nothing leaves it
when you open the settings screen either. The settings screen is set in your system
font.

## Screenshots

[⌊Filters beside the shop, with a live count against every option and the ones that
would return nothing greyed rather than hidden⌉⌊Filters beside the shop, with a 
live count against every option and the ones that would return nothing greyed rather
than hidden⌉[

Filters beside the shop, with a live count against every option and the ones that
would return nothing greyed rather than hidden

[⌊Sort and Filter side by side on a phone, where the two questions a shopper has
about a list belong together⌉⌊Sort and Filter side by side on a phone, where the
two questions a shopper has about a list belong together⌉[

Sort and Filter side by side on a phone, where the two questions a shopper has about
a list belong together

[⌊Choosing how to sort without leaving the shop, and without the page reloading 
under you⌉⌊Choosing how to sort without leaving the shop, and without the page reloading
under you⌉[

Choosing how to sort without leaving the shop, and without the page reloading under
you

## Blocks

This plugin provides 1 block.

 *   Filters

## Installation

 1. Install and activate.
 2. That is all — filters appear on your shop and category pages.
 3. WooCommerce, then Smart Filters, to choose what shoppers narrow by, what order 
    the groups are in and where the panel goes. The panel is drawn beside the settings
    as you change them.

## FAQ

### Does it work with my theme?

It narrows the theme’s own product list rather than drawing its own, so the products

keep looking exactly as your theme draws them.

### Does it need JavaScript?

No. Every control is an ordinary link. The script is an enhancement that swaps the

results in place instead of reloading.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CodeBold Smart Filters” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ codeboldtech ](https://profiles.wordpress.org/codeboldtech/)

[Translate “CodeBold Smart Filters” into your language.](https://translate.wordpress.org/projects/wp-plugins/codebold-smart-filters)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/codebold-smart-filters/),
check out the [SVN repository](https://plugins.svn.wordpress.org/codebold-smart-filters/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/codebold-smart-filters/)
by [RSS](https://plugins.trac.wordpress.org/log/codebold-smart-filters/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.8.6

 * The settings screen no longer fetches its typefaces from Google Fonts. It draws
   in your
    system font instead, so opening it makes no request to any server, ever—
   the same promise the plugin already made about the shop and the shopper

#### 0.8.5

 * The first version offered publicly. Nothing here changes what the filters do 
   or how
    they look — it is the pass a plugin gets before strangers read it
 * Reading the address now removes WordPress own slashes before matching a term.
   No shop
    will see a difference, because the characters WordPress escapes do not
   survive into a term slug in the first place; it is correct rather than lucky,
   which is the standard the directory holds a plugin to
 * The uninstall routine no longer writes to $blog_id while it runs. On a network
   it
    visits every site in turn, and the loop was assigning to WordPress own global—
   the same one switch_to_blog() and restore_current_blog() manage between those
   lines
 * Term ids reach the counting queries as placeholders rather than written into 
   the
    statement already cast. The query is identical; the difference is that a
   reader can see it is prepared without first tracing where the ids came from
 * Translations are left to WordPress, which has loaded them for plugins in the 
   directory
    since 4.6, and does it at the first string rather than on every page.
   The plugin was loading a second copy eagerly
 * The settings screen now says who made it and where the documentation is
 * The plugin header pointed at a domain that no longer resolves
 * Every external request the plugin makes is now written down in the readme. There
   is one:
    three typefaces on the settings screen, and a filter that turns it off
 * Each hand-written query now carries, in the source beside it, why it is written
   that
    way — which values are placeholders, which are table aliases that cannot
   be, and where the caching happens. Static analysis reads one function at a time
   and could not tell; a person reading the code should not have to work it out 
   either

#### 0.8.3

 * A sweep for the rest of the same bug, rather than waiting to be shown each one.
   What is
    written on top of the accent colour is now a setting of its own: white
   is right on the default blue and unreadable on a bright green, so a chosen size
   chip, the price Go button and the count on the filter button all follow one property
   instead of five hardcoded whites
 * The dark panel style tells the browser it is dark, so the price range’s arrows,
   the
    search box’s clear button and any scrollbar inside it are drawn to match
 * On the settings screen: placeholder text, text selection, the dismiss cross on
   our own
    notice, a read-only licence field, and the focus ring WordPress draws
   in its own blue
 * Autofill no longer turns a field white. Chrome paints a saved value with its 
   own
    near-white background and there is no property that overrides it — it has
   to be drawn over, which it now is

#### 0.8.2

 * The dropdowns on the settings screen were unreadable: a select was given a dark
   
   background, and the browser kept drawing its options in the default dark ink 
   on top of it. Everything the browser paints for itself — select menus, number
   field arrows, scrollbars — is now told the surface is dark

#### 0.8.1

 * An extension point after the settings form closes, so an add-on can carry a form
   of
    its own — a licence key field, for one. A form inside a form is not a thing
   HTML has

#### 0.8.0

 * Filters of your own. An add-on — or a shop with a developer — can register a 
   filter on
    anything, and the panel draws it, counts it, clears it and narrows
   the shop with it exactly as it does its own. See the FilterType class
 * Counts take registered filters into account, in both directions: they are counted
   like
    every other group, and every other group is counted against them
 * Larger type and stronger contrast on the settings screen. Nothing smaller than
   12.5px,
    body text at 15.5px, and labels off the faintest ink — it is read by
   shopkeepers, some of them for an hour at a time, and it was too small
 * Other plugins’ admin notices are left alone. WordPress moves every notice on 
   the page
    inside this screen’s wrapper, and the dark styling was repainting them
   in our colours — a warning from another plugin arrived wearing our green

#### 0.7.0

 * The settings screen is now a dark console in CodeBold Commerce’s own colours 
   and
    typefaces, sitting inside the WordPress admin it belongs to
 * A Panel style setting for the shop front: “Match my theme”, which is the default
   and
    what it has always done, or “CodeBold dark”. Colours only — the panel keeps
   your shop’s typeface either way, because a plugin’s fonts are not a cost a shopper
   should pay for on a product page

#### 0.6.1

 * A Pro tab on the settings screen, listing what a paid version would add. One 
   tab,
    reached by choosing it: no dashboard banner, no dismissible notice on somebody
   else’s screen, and nothing greyed out in the middle of a setting that works

#### 0.6.0

 * Filter by category, brand and tag. Every shop already has these and the panel
   could
    offer none of them, so a shop selling four brands had to make Brand an
   attribute as well and keep the two in step by hand
 * A parent category is counted across everything filed beneath it. Clicking one
   returns
    the whole branch, so counting only what is filed directly against it
   promised one number and delivered another — usually zero, on a shop that files
   at the leaves
 * The counts are worked out for the whole panel in one query instead of one per
   group,
    each of which used to pull every matching product id through PHP. Four
   queries became one; eight became three
 * Counts now take In stock and On sale into account. They did not, so with “In 
   stock
    only” ticked the number beside an option said eleven where the shopper
   was about to be shown four
 * A new settings screen: three tabs, groups you can drag into order, a name of 
   your own
    for any of them, a plain-language account of where the filters will
   appear, and the panel drawn beside the settings as you change them
 * A search box on any group with more than a dozen options
 * A Product Filters block for block themes
 * The Elementor widget now offers categories and brands as well as attributes, 
   a sort
    toggle, its own “show more” threshold, and typography and colour in the
   Style tab
 * Sort can be turned off where a theme already has its own

#### 0.5.4

 * Group headings are styled by their class rather than by the element carrying 
   it. A
    group that cannot collapse renders a heading instead of a button, and 
   only the button was styled — so on any theme that sizes its headings, that one
   group appeared several times larger than its neighbours

#### 0.1.0

 * First release.

## Meta

 *  Version **0.8.6**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [ecommerce](https://wordpress.org/plugins/tags/ecommerce/)[filters](https://wordpress.org/plugins/tags/filters/)
   [product filter](https://wordpress.org/plugins/tags/product-filter/)[shop](https://wordpress.org/plugins/tags/shop/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/codebold-smart-filters/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/codebold-smart-filters/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/codebold-smart-filters/reviews/)

## Contributors

 *   [ codeboldtech ](https://profiles.wordpress.org/codeboldtech/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/codebold-smart-filters/)