Descripció
- Accordion UI – category tree (hierarchical), size sliders (length / width), shape, colour swatches, production type, material. Any source can be added as a list, swatch or range filter from the settings page.
- Reads every kind of product data – global attributes (taxonomies), custom per-product attributes (the text ones on the product edit screen), and shipping dimensions / weight (including variations) through a small product index that is kept fresh on every product save.
- Full-height layout by default (the Elementor popup scrolls); optional inner-scroll layout with sticky buttons.
- Instant Apply – the result page is prefetched (or prerendered) in the background while the user is still choosing.
- OR inside a filter, AND between filters. Counts next to every option are live (facet counts respect all other filters) so users never pick an empty combination.
- Apply reloads the page with clean URL parameters (
?ffwc_color=red,navy&ffwc_length=80-200) and filters every Elementor Loop Grid / Posts widget whose Query ID matches, plus the main WooCommerce product query. - Category aware – on a category page the category is pre-selected; choosing a sub-category (or another category) navigates to that category URL so the main route stays in sync. Multiple categories inside one branch stay on the branch URL with
ffwc_cat=; categories from different branches go to the shop page. - Fast – all counts are grouped SQL, cached in transients and auto-invalidated whenever products or terms change.
- Dynamic – terms, categories, colours and min/max values are read from the store, never hardcoded.
Setup
- Activate the plugin (requires WooCommerce; Elementor is optional).
- WooCommerce Fast Filter: check the auto-detected attribute mapping (length, width, shape, colour, production type, material) and adjust if needed.
- In Elementor, add the Fast Filter widget (category «Fast Filter») inside a Popup or any container — or use the
[fast_filter]shortcode. - In the Loop Grid widget: Query Query ID =
fast_filter(configurable). - Optional: Products Attributes Colour edit a term «Swatch colour» to override the auto-detected colour.
Shortcode
[fast_filter filters="cat,length,width,shape,color,production_type,material" nav="auto" counts="1" chips="1" title="Filters"]<h3>Developer hooks</h3>
* fast_filter_query_tax_query – filter the tax_query clauses applied to product queries.
* fast_filter_facet_tax_query / fast_filter_facet_base_where – adjust facet counting SQL.
* fast_filter_js_config – adjust the front-end configuration.
* JS event fastfilter:apply on document (detail: { url, state }) fires right before navigation.
* elementor/query/{query_id} is used for Loop Grid integration; woocommerce_product_query for the main query.
Captures




Ressenyes
No hi ha ressenyes per a aquesta extensió.
Col·laboradors i desenvolupadors
«Fast Filter for WooCommerce» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.
Col·laboradorsTraduïu «Fast Filter for WooCommerce» a la vostra llengua.
Interessats en el desenvolupament?
Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.
Registre de canvis
3.0.1
- WordPress.org review: every option, transient, cron hook, query var and URL parameter now uses the
ffwc_prefix (URLs read?ffwc_color=red),Requires Plugins: woocommerceheader added, and the settings option declares an array sanitize callback.
3.0.0
- Requires PHP 8.2+ (tested on PHP 8.5). Code base modernised: strict types, enums, readonly value objects, first-class callables.
- Smart queries: one id-set query per request feeds every unselected facet (one grouped query for all flat taxonomies, one per category tree, one for custom attributes); the product count is derived from the same id set.
- All filter term lists are stored in a single cache entry, so a page load does one cache read instead of one per filter.
- Facet cache entries are keyed by the effective clauses, so the live-count request and the resulting page share the same entry.
2.2.2
- Fewer per-request queries: no table check / status lookups on normal page loads, category link map cached, no id precompute for the empty selection.
2.2.1
- Index table: prefix indexes + InnoDB so creation no longer fails with «Specified key was too long» on utf8mb4/MyISAM hosts.
- No translation calls before
init(WP 6.7 _load_textdomain_just_in_time notice).
2.2.0
- Matching product ids are precomputed while the shopper is choosing, so the Loop Grid / shop query after Apply is a plain «ID IN (…)».
- Live counts use a light early-exit endpoint (/?ffwc_facets=1) instead of the REST API; REST stays as fallback.
- Cache warming: sitemap of filter URLs for cache crawlers (/?ffwc_sitemap=1) and an optional built-in WP-Cron warmer.
2.1.0
- Shipping dimensions / weight are read directly from product meta (variations included) — no index table required.
- Attribute terms with no products are listed greyed out instead of hidden.
- Index table creation is verified; failures are shown in admin with the DB error. Index self-builds after plugin updates (no activation needed) and continues without WP-Cron.
1.1.0
- Product index: custom (per-product) attributes and shipping dimensions/weight, incl. variations, as filter sources.
- Auto-detection of sources in English and Persian; «Reset filters to auto-detected defaults».
- Full-height layout by default; inner-scroll layout optional.
- Prefetch / prerender of the result page for near-instant Apply.
- Fixes: Reset kept the old parameters; Apply was disabled when the count was 0; Elementor popup re-initialisation.
1.0.0
- Initial release.
