Woo Filter Studio  /  Documentation

Documentation

Everything you need to set up, configure, and customize Woo Filter Studio for your WooCommerce store.

Installation

  1. Download the plugin .zip file from CodeCanyon.
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin.
  3. Choose the zip file and click Install Now.
  4. Activate the plugin.
  5. Navigate to WooCommerce → Woo Filter Studio to configure.
🛈

WooCommerce must be installed and active before activating Woo Filter Studio.

Requirements

6.0+
WordPress
7.0+
WooCommerce
7.4+
PHP
GPL v2
License

Quick Start

  1. Install & activate the plugin (see above).
  2. Go to Woo Filter Studio → Settings and toggle which filter types to show.
  3. Go to Woo Filter Studio → Styling and pick a skin preset.
  4. Visit your Shop page — filters appear automatically in a sidebar.

Filters automatically appear on WooCommerce shop and product archive pages. No shortcode needed for the default shop.

Filter Types

Woo Filter Studio provides eight filter types that work together. Each can be independently enabled or disabled from the admin settings.

FilterTypeDescription
CategorySingle-selectFilter by WooCommerce product category
BrandMulti-selectBrand taxonomy filter (pa_brand, product_brand, or brand)
ColorMulti-selectColor swatches (pa_color or color)
Custom AttributesMulti-selectAny WooCommerce pa_* attribute taxonomy
Price RangeSliderDual-handle min/max price slider with text inputs
RatingRadioMinimum star rating (1–5 stars)
In StockCheckboxShow only in-stock products
On SaleCheckboxShow only products currently on sale

Category Filter

Displays product categories as radio buttons for single-select filtering. The selected category is applied via the wf_cat URL parameter.

Brand & Color Filters

The plugin auto-detects brand and color taxonomies in this order:

Colors render as visual swatches. Both support multi-select with checkboxes.

Custom Attribute Filters

Any WooCommerce product attribute (e.g., pa_size, pa_material) is automatically detected and rendered as a multi-select checkbox filter. No configuration needed — just create the attribute in WooCommerce and assign it to products.

Price Range

A dual-handle slider with synced min/max text inputs. Updates the query in real time via AJAX as customers drag the handles. Uses min_price and max_price URL parameters.

Customer Rating

Radio buttons for minimum star rating (1–5). Uses the rating_filter URL parameter. Ideal for stores with review-driven purchasing.

Availability

Two checkbox filters:

AND / OR Logic

When multiple values are selected within a filter (e.g., two brands), the logic mode controls how they combine:

ModeURLBehavior
OR (default)wf_logic=orProducts matching any selected value
ANDwf_logic=andProducts matching all selected values

Shortcode

Use the [woo_filters] shortcode to place filters and a product grid on any page or Elementor widget.

// Basic usage
[woo_filters]

// With all attributes
[woo_filters
  per_page="12"
  columns="3"
  category="electronics"
  show_filters="yes"
  show_pagination="yes"
]Shortcode

Attributes

AttributeDefaultDescription
per_page12Number of products per page (max 120)
columns4Product grid columns (1–6)
categorynonePre-filter by category slug
show_filtersyesShow the filter sidebar (yes / no)
show_paginationyesShow pagination controls (yes / no)

Examples

Show 20 products in 3 columns, electronics only

[woo_filters per_page="20" columns="3" category="electronics"]

Product grid without filters

[woo_filters show_filters="no" columns="4"]

Minimal grid, no pagination

[woo_filters per_page="6" columns="3" show_pagination="no"]

URL Parameters

Every filter combination generates a unique, shareable URL. Customers can bookmark or share filtered views.

ParameterTypeExample
wf_catstring (slug)wf_cat=shoes
wf_brand[]arraywf_brand[]=apple&wf_brand[]=samsung
wf_color[]arraywf_color[]=red&wf_color[]=blue
wf_logicstringwf_logic=and
min_pricedecimalmin_price=25
max_pricedecimalmax_price=150
rating_filterint (1–5)rating_filter=4
wf_in_stockflagwf_in_stock=1
wf_on_saleflagwf_on_sale=1
wf_attr_*[]arraywf_attr_size[]=large
wf_per_pageintwf_per_page=40

Full example URL

/shop?wf_cat=shoes&wf_brand[]=nike&min_price=50&max_price=200&rating_filter=4&wf_in_stock=1URL

Filter Visibility Settings

Navigate to Woo Filter Studio → Settings to toggle individual filter types on or off.

OptionKeyDefault
Show Categoriesshow_categoriesyes
Show Brandsshow_brandsyes
Show Price Rangeshow_priceyes
Show Ratingshow_ratingyes
Show Availabilityshow_availabilityyes
Show Colorsshow_colorsyes
Delete data on uninstalldelete_data_on_uninstallno

Style & Skins

Navigate to Woo Filter Studio → Styling to customize the appearance.

Preset Skins

Classic
Clean WooCommerce style
Graphite
Dark, modern design
Sunrise
Warm, vibrant tones

Select a skin to apply its preset colors, then fine-tune individual values below.

Color Settings

SettingCSS VariableDefault (Classic)
Accent Color--wf-accent#0b6a78
Sidebar Background--wf-sidebar-bg#ffffff
Sidebar Border--wf-sidebar-border#e5e8ee
Heading Color--wf-heading-color#1f2937
Text Color--wf-text-color#1f2937
Muted Text--wf-muted-text#64748b
Chip Background--wf-chip-bg#ffffff
Chip Border--wf-chip-border#c7d5e3
Button Background--wf-button-bg#4b5563
Button Text--wf-button-text#ffffff
Input Background--wf-input-bg#ffffff
Control Border--wf-control-border#cbd5e1
No Results BG--wf-empty-bg#ffffff
No Results Border--wf-empty-border#dbe2ea
No Results Shadow--wf-empty-shadow#0f172a

Typography & Layout

SettingCSS VariableDefaultRange
Font Family--wf-font-familyinherit
Font Size--wf-font-size16px10–48
Sidebar Width--wf-sidebar-width280px180–600
Sidebar/Product Gap--wf-layout-gap24px0–80
Section Spacing--wf-section-spacing18px0–60
Sidebar Radius--wf-sidebar-radius14px0–60
Control Radius--wf-control-radius10px0–60
Button Radius--wf-button-radius12px0–60

Custom CSS

Add custom CSS in Styling → Custom CSS. The CSS is output inline on the frontend.

/* Example: wider sidebar on desktop */
.wf-shop-layout {
  --wf-sidebar-width: 320px;
}

/* Example: round filter chips */
.wf-chip {
  border-radius: 100px;
}CSS

CSS Variables Reference

All styling is driven by CSS custom properties on .wf-shop-layout. Override them in your theme or Custom CSS field:

.wf-shop-layout {
  --wf-accent: #0b6a78;
  --wf-sidebar-bg: #ffffff;
  --wf-sidebar-border: #e5e8ee;
  --wf-heading-color: #1f2937;
  --wf-text-color: #1f2937;
  --wf-muted-text: #64748b;
  --wf-chip-bg: #ffffff;
  --wf-chip-border: #c7d5e3;
  --wf-button-bg: #4b5563;
  --wf-button-text: #ffffff;
  --wf-input-bg: #ffffff;
  --wf-control-border: #cbd5e1;
  --wf-font-family: inherit;
  --wf-font-size: 16px;
  --wf-sidebar-width: 280px;
  --wf-layout-gap: 24px;
  --wf-sidebar-radius: 14px;
  --wf-control-radius: 10px;
  --wf-button-radius: 12px;
  --wf-section-spacing: 18px;
  --wf-empty-bg: #ffffff;
  --wf-empty-border: #dbe2ea;
  --wf-empty-shadow: #0f172a;
}CSS Variables

Analytics Dashboard

Navigate to Woo Filter Studio → Analytics to see how customers use your filters.

Tracked Metrics

What Gets Tracked

Every filter interaction on shop archive pages is recorded:

Data Storage

🔒

Analytics data stays in your WordPress database. No data is sent externally. GDPR-friendly by design.

CSS Class Hooks

Use these classes in your custom CSS or JavaScript to target specific elements:

ClassElement
.wf-shop-layoutMain layout wrapper (has all CSS variables)
.wf-sidebarFilter sidebar container
.wf-productsProduct grid wrapper
.wf-filter-formFilter form element
.wf-filter-blockIndividual filter section
.wf-chipActive filter chip
.wf-chip-listActive filter chips container
.wf-active-filtersActive filters section in sidebar
.wf-top-active-filtersActive filters strip above products
.wf-clear-allClear all filters link
.wf-price-sliderPrice range slider
.wf-price-trackPrice slider visual track
.wf-price-gridMin/max price input fields
.wf-actionsForm buttons container
.wf-btnButton base class
.wf-btn-primaryPrimary action button
.wf-btn-secondarySecondary action button
.wf-no-resultsNo products found card
.wf-filter-toggleMobile filter drawer button
.wf-sidebar-overlayMobile backdrop overlay
.wf-sidebar-closeMobile sidebar close button
.wf-per-pagePer-page switcher
.wf-option-searchFilter option search input (shown when >7 options)
.wf-shortcode-layoutAdded when rendered via shortcode

HTML Structure

Archive page layout

.wf-shop-layout
  ├── .wf-filter-toggle    // mobile button
  ├── .wf-sidebar-overlay  // mobile backdrop
  ├── .wf-sidebar
  │     ├── .wf-sidebar-close
  │     └── .wf-filter-form
  │           ├── .wf-active-filters
  │           ├── .wf-filter-block // repeated
  │           └── .wf-actions
  └── .wf-products
        ├── .wf-top-active-filters
        ├── .wf-per-page
        └── WooCommerce product loopStructure

Cache & Performance

🛈

If you use an object cache plugin (Redis, Memcached), filter data will be stored there for even faster retrieval.

Data Management

The plugin stores three option keys in the WordPress database:

Option KeyData
wf_filter_optionsFilter visibility settings
wf_style_optionsStyling configuration
wf_analytics_dataAnalytics statistics
⚠️

If Delete data on uninstall is enabled in Settings, all plugin data will be permanently removed when the plugin is deleted. This is off by default.

Compatibility

PlatformVersion
WordPress6.0 – 6.8+
WooCommerce7.0 – 10.0+
PHP7.4+
WooCommerce HPOSCompatible
Cart/Checkout BlocksCompatible
ElementorShortcode ready