preloader

How to Set Up FacetWP for Filterable WordPress Archives

FacetWP adds filterable facets to WordPress archives – the checkbox filters, dropdown menus, price range sliders, and radio buttons that let visitors narrow a list of posts, products, or listings without reloading the page. It works with any WordPress query and any post type, making it the most versatile filtering solution for WordPress without requiring a dedicated ecommerce or directory plugin.

How FacetWP Works

FacetWP monitors the current page’s WP_Query. When a visitor selects a filter value, FacetWP sends an Ajax request with the new filter parameters, runs a modified query, and updates the post list on the page without a full reload. The URL updates to reflect the active filters (making filtered results bookmarkable and shareable) and the post count updates to show how many results match the current filter combination.

FacetWP reads data from WordPress post meta, taxonomies, and custom fields to populate facet options. A checkbox facet based on a Category taxonomy shows all available categories and the count of posts in each. A range slider based on a price meta key shows the min and max values from actual post data. Facet options are always grounded in real data, not configured manually.

Step 1: Create Your First Facet

Go to FacetWP -> Facets -> Add New. Configure:

  • Facet name – used in the shortcode/block to place this facet on a page
  • Facet type – Checkboxes, Dropdown, Radio, Range Slider, Search, Date Range, Rating, or others. Choose based on the data type and how visitors expect to filter.
  • Data source – the taxonomy or custom field this facet reads from. For a Category facet, select the post category taxonomy. For a price facet, select the price custom field or WooCommerce price meta.

Need help configuring search for your WordPress site? Describe your setup and get a free estimate.

Facet Types and When to Use Each

Checkboxes – for multi-select filtering. A visitor can select multiple categories or attributes and see results matching any selected option. Best for attributes where multiple values might apply (product colour, cuisine type, amenities).

Dropdown – for single-select filtering. Compact; good for attributes with many options where a checkbox list would be too long (country, brand).

Range Slider – for numeric ranges. Price range, square footage, year, rating. Requires a numeric custom field or meta key as the data source.

Search – a text input that filters the post list by keyword. Combines with other facets for mixed filtering/search interfaces.

Radio – single-select with all options visible. Good for a small number of mutually exclusive options (new/used, for sale/for rent).

Step 2: Place Facets on Your Archive Page

FacetWP uses shortcodes to place facets anywhere on a page. The template that displays your archive needs two elements: the facet shortcode(s) and the results shortcode.

[facetwp facet="category_filter"]
[facetwp facet="price_range"]
[facetwp template="listing_results"]

The template shortcode references a FacetWP template – a saved query and display configuration. Create the template in FacetWP -> Templates. Configure the query (which post type, default ordering, posts per page) and the display HTML.

Step 3: WooCommerce Integration

FacetWP integrates with WooCommerce to filter products. Use it on the WooCommerce shop page by adding FacetWP facets to the shop archive template. Product attributes (colour, size), product categories, product tags, and price range all work as FacetWP data sources. For the price range facet, use the WooCommerce price meta key (_price or _regular_price).

The WooCommerce integration also connects to WooCommerce ordering (sort by price, popularity, rating) so visitors can filter and sort simultaneously.

Keep Reading

Previous Post WooCommerce Product Search: Making Customers Find What They Want Next Post FacetWP vs Search and Filter vs WP Grid Builder: Choosing a WordPress Filter Plugin

Need Help With Your WordPress Site?

If you need help with WordPress fixes, plugin issues, theme customization, or development work, feel free to get in touch.

Get a Free Estimate