B3 Product Filters Article

Delivery & Shareable URLs

Deliver the panel automatically or with a block, shortcode, or widget, then preserve filter state in URLs and no-JavaScript requests.

Choose one clear delivery path for each storefront location. Automatic placement covers standard WooCommerce archives, while the block, shortcode, and widget handle custom templates and builder-owned layouts.

Browse docs
StorefrontURLs

Automatic archive delivery

Auto-render the panel on the WooCommerce archive surfaces you enable.

The Placement settings can automatically render the filter panel and load its assets on the shop page, product-category archives, product-tag archives, and product search results. Disable a surface when its template already provides a manually placed panel.

Block, shortcode, and widget

Embed the same filter panel in editors, builders, and classic sidebars.

Product Filters block
Add the dynamic block to a page or template in the WordPress block editor.
[b3_product_filters] shortcode
Place the shortcode in a page builder or any content area that supports shortcodes.
B3 Product Filters widget
Add the classic widget to a sidebar or widget area provided by the active theme.
  1. Choose one delivery method for the location you are editing.
  2. Load the page and confirm the panel can identify the intended product loop.
  3. Apply one filter, clear it, and repeat the cycle after any builder or infinite-scroll content update.

Shareable state and fallback

Keep filtered views bookmarkable while preserving a server-rendered fallback.

With Shareable URLs enabled, the plugin writes filter state to namespaced pf_ query parameters. Shoppers can bookmark a filtered view and browser back and forward restore the corresponding state.

Terms and attributes
Selected values use the matching taxonomy parameter, such as pf_pa_color.
Price and catalog state
Price, stock, on-sale, rating, search, sorting, and pagination use their own pf_ parameters.
No-JavaScript fallback
The panel includes a GET form so supported WooCommerce archive requests can still apply filter state without the AJAX app.