=== Super Product Filter for WooCommerce ===
Contributors: hashthemes
Tags: ajax filter, ajax product filter, product filter, woocommerce ajax filter, woocommerce filter
Requires at least: 6.3
Requires PHP: 7.2
Tested up to: 7.1
Stable tag: 2.0.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

AJAX product filter for WooCommerce. Filter by category, brand, attribute, price, rating, stock and sale, with instant results and no page reload.

== Description ==

Shoppers leave when they cannot find what they came for. Super Product Filter for WooCommerce lets them narrow your catalog by category, brand, attribute, price, rating, stock and sale status, search by keyword and change the sort order, and the product list updates in place the moment they click. No page reloads, no waiting, no dead ends.

It works with any WooCommerce theme, sits anywhere you want it through a block, a shortcode or an Elementor widget, and is set up in a purpose built filter builder rather than a wall of settings. The free version is not a trial. Everything listed under "Everything in the free version" works the day you activate it.

<a href="https://demo.hashthemes.com/super-woocommerce-product-filter/" target="_blank">Live Demo</a> | <a href="https://tastewp.com/plugins/super-product-filter/" target="_blank">Try It in a Test Dashboard</a> | <a href="https://hashthemes.com/documentation/super-woocommerce-product-filter-documentation/" target="_blank">Documentation</a> | <a href="https://demo.hashthemes.com/super-woocommerce-product-filter/comparison-free-vs-pro/" target="_blank">Free vs Pro</a> | <a href="https://1.envato.market/eK5yrQ" target="_blank">Get Pro</a>

<h3>Why stores choose Super Product Filter</h3>
<ul>
<li><strong>Instant results.</strong> Every filter applies over AJAX, so shoppers never lose their place or wait for a reload.</li>
<li><strong>Every filter a store needs.</strong> Categories, tags, brands, attributes, price, rating, reviews, stock, sale, keyword search and sorting, all in the free version.</li>
<li><strong>Eight ways to show a filter.</strong> Checkboxes, radios, dropdowns, multi selects, buttons, toggles, color swatches and image swatches.</li>
<li><strong>Works with your theme.</strong> The product list, result count and pagination are found automatically, and a compatibility mode handles themes and page builders that draw their own product cards.</li>
<li><strong>A real builder.</strong> Drag filters into order, switch them on and off, style them with live previews and save without leaving the page.</li>
<li><strong>Light and search engine safe.</strong> Only the assets a preset uses are loaded, and filtered views can be kept out of search results with one switch.</li>
</ul>

<h3>Everything in the free version</h3>

<h4>Filters shoppers actually use</h4>
<ul>
<li><strong>Categories, tags and brands.</strong> Refine by product category, product tag and WooCommerce brand, with categories shown as an indented tree.</li>
<li><strong>Attributes.</strong> Any WooCommerce attribute becomes a filter: size, material, color and so on, each with its own title, display type, order and logic.</li>
<li><strong>Price range.</strong> A two handle slider sets a minimum and a maximum, and the product list updates to match.</li>
<li><strong>Rating and reviews.</strong> Rows of stars for products rated a given number and above, and a minimum review count for products with real feedback behind them.</li>
<li><strong>In stock and on sale.</strong> One tick hides everything that cannot be bought today. Another takes shoppers straight to the deals.</li>
<li><strong>Keyword search.</strong> A search box that sits with the other filters, so a shopper can type a term and keep refining by category, price or attribute from the same panel.</li>
<li><strong>Sorting.</strong> Price low to high or high to low, latest or oldest, title A to Z or Z to A, or random. You choose which to offer.</li>
</ul>

<h4>Eight ways to show a filter</h4>
Every category, tag, brand or attribute filter can be a Checkbox, Radio, Dropdown, Multi Select, Button, Toggle, Color Swatch or Image Swatch list, laid out vertically or horizontally. Swatch colors and images are set per term inside the builder, so a color attribute shows real swatches and a pattern or brand attribute shows pictures. Dropdowns and multi selects take a placeholder text of your own.

<h4>A shopping experience that feels instant</h4>
<ul>
<li><strong>Apply on click or on demand.</strong> Filters can apply the moment a shopper clicks, or wait for an Apply button with the text you set.</li>
<li><strong>Active filter chips.</strong> Every selection is listed as a removable chip. Click one to drop that selection, or Clear All to start over.</li>
<li><strong>Honest product counts.</strong> The number beside each term takes account of the price, rating, review, stock and sale filters already applied, so it always matches what selecting it returns.</li>
<li><strong>Loading animation and scroll to results.</strong> A loader covers the products while new results arrive, and the page can scroll back to the results once they land.</li>
<li><strong>Collapsible filters.</strong> Shoppers fold each filter box open or closed from its heading, and long lists can be capped to a height and scrolled.</li>
</ul>

<h4>You decide what shoppers see</h4>
<ul>
<li><strong>Include or exclude terms.</strong> Show every term, or pick exactly which ones a filter offers.</li>
<li><strong>AND or OR logic.</strong> Set it for the preset as a whole and for each filter on its own. AND means a product must match every selected term. OR means any one is enough.</li>
<li><strong>Term order.</strong> By name, product count, ID or numeric name, ascending or descending.</li>
<li><strong>Limit a preset to categories.</strong> A filter placed on a page only ever returns products from the part of the catalog you choose.</li>
<li><strong>Show or hide details.</strong> Term names and product counts can each be shown or hidden per filter.</li>
</ul>

<h4>Off-canvas panel and mobile</h4>
<ul>
<li><strong>Slide-in filter panel.</strong> Show the filters in a panel that slides in from the left or the right instead of taking up page space.</li>
<li><strong>Your own trigger button.</strong> Sixteen ready made icon styles and an icon library to pick from, with the shape, size, colors and screen position all yours to set. Any link or button on the page can open the panel through the trigger class.</li>
<li><strong>Responsive by design.</strong> Filters adapt to phones and tablets, and inline filters can switch to the off-canvas panel below a screen width you choose.</li>
</ul>

<h4>Make it match your brand</h4>
<ul>
<li><strong>Colors and spacing.</strong> Primary color, filter box and heading colors, and the spacing between filters and between items.</li>
<li><strong>Typography with live preview.</strong> Any Google Font for headings and filter text, with a sample line that takes on the font, size and spacing as you change them.</li>
<li><strong>GDPR ready fonts.</strong> Serve Google Fonts from your own site instead of Google's servers with one switch.</li>
</ul>

<h4>Built in a real builder</h4>
<ul>
<li><strong>Full page filter builder.</strong> Every preset is edited in a purpose built screen rather than the WordPress post editor. Switch filters on or off, drag them into order, configure every option in one place and save without a page reload.</li>
<li><strong>Import and export presets.</strong> Export a configured preset to a file and import it on another site, or restore it later.</li>
<li><strong>Built for big catalogs.</strong> Shops with many attributes save reliably, because settings travel as a single field that is not subject to the PHP input variable limit.</li>
</ul>

<h4>Place it anywhere, on any theme</h4>
<ul>
<li><strong>Block, shortcode and Elementor widget.</strong> Drop the block into any page, post or block based widget area such as a sidebar, header or footer, add the Elementor widget, or paste the shortcode into WPBakery, Beaver Builder, Divi, Bricks or any builder that renders shortcodes.</li>
<li><strong>Automatic theme detection.</strong> The product list, result count and pagination are detected on their own, and three selector fields are there for the rare theme that cannot be detected.</li>
<li><strong>Theme Compatibility Mode.</strong> When a theme or page builder draws its own product cards, the filtered page is requested from your site, so products come back in exactly the markup your theme already uses.</li>
</ul>

<h4>Fast, search engine safe and tidy</h4>
<ul>
<li><strong>Loads only what it needs.</strong> Icon fonts are loaded only when a preset uses them, the plugin's own icons are drawn inline, and AJAX responses carry only what the page needs.</li>
<li><strong>SEO friendly filtering.</strong> Filter combinations can become thousands of near duplicate pages that eat crawl budget. One setting serves filtered views as "noindex, follow", keeping them out of search results while links on the page are still followed.</li>
<li><strong>Clean uninstall.</strong> An option removes every filter and setting when the plugin is deleted. It is off by default, so deactivating or reinstalling never loses your work.</li>
<li><strong>Plays well with WooCommerce.</strong> Declares compatibility with High Performance Order Storage, and works in every current browser.</li>
<li><strong>Multilingual and RTL.</strong> Filter titles are registered with WPML String Translation and Polylang, and right to left languages such as Arabic and Hebrew are supported.</li>
</ul>

<h4>For developers</h4>
<ul>
<li><strong>Template overrides.</strong> Copy any filter template into a super-product-filter folder in your theme to change its markup, the same way WooCommerce templates are overridden.</li>
<li><strong>Hooks.</strong> swpf_before_filter_fields, swpf_after_filter_fields, swpf_before_filter_field and swpf_after_filter_field actions, plus swpf_template_folder, swpf_locate_template, swpf_filter_query_keys and swpf_preset_icon_families filters.</li>
</ul>

<h3>Go further with Super WooCommerce Product Filter Pro</h3>
The free version gives you a complete, fast product filter. Pro is for stores that want to shape the whole shopping journey: filter by your own data, guide shoppers step by step, style every control, and design the product cards themselves. It is a one-off payment, and everything you set up in the free version carries over.

<h4>Filter by anything</h4>
<ul>
<li><strong>ACF and custom meta fields.</strong> Turn Advanced Custom Fields values into filters, or define your own meta keys and the options shoppers pick from.</li>
<li><strong>Hide empty terms.</strong> Options that would return no products disappear, so a shopper never lands on an empty page.</li>
<li><strong>Search inside a filter.</strong> A search box within long filters narrows the list of terms as you type.</li>
<li><strong>Dynamic price range.</strong> The slider ends follow the results, moving to the cheapest and dearest products currently shown. The price filter can also be shown as a pair of inputs.</li>
<li><strong>Variation images in the product list.</strong> Filter by a color and each variable product shows the image of the matching variation.</li>
</ul>

<h4>Guide the shopper</h4>
<ul>
<li><strong>Step by step filtering.</strong> Reveal the next filter only once the one before it is answered: a category first, then its attributes, then a price.</li>
<li><strong>Conditional filters.</strong> Show or hide a filter depending on the category, tag or brand being viewed, so screen size appears for laptops and not for wine.</li>
<li><strong>Readable filter URLs.</strong> Addresses such as /shop/filter/categories-laptop/ instead of a query string, easier to share and better in search results.</li>
<li><strong>Redirect to another page.</strong> Place a filter anywhere and land the shopper on your shop with the results applied.</li>
<li><strong>Descriptions, icons and labels.</strong> A description and an icon for each filter title, and your own labels for the in stock and on sale ticks.</li>
</ul>

<h4>Faster browsing</h4>
<ul>
<li><strong>AJAX pagination.</strong> Each page of results loads in place instead of reloading.</li>
<li><strong>Load More and infinite scroll.</strong> Replace paged links with a Load More button carrying your own text, or let results flow in as the shopper scrolls.</li>
</ul>

<h4>Place and lay out</h4>
<ul>
<li><strong>Attach to the shop archive.</strong> Show the filter above the shop and category pages without editing a template, on every archive, only on the shop page or chosen categories, tags and brands, or hidden on the ones you name.</li>
<li><strong>Multi-column layouts.</strong> Filters across up to eight columns, terms inside a filter across up to three, with column counts and panel width set per breakpoint.</li>
<li><strong>Positioned filter chips.</strong> Selected filter chips before the filters, after them or above the products, grouped by attribute.</li>
</ul>

<h4>Design without limits</h4>
<ul>
<li><strong>Filter styles.</strong> Eleven checkbox and radio styles, ten each for price sliders, buttons and toggles, six each for dropdowns, multi selects, color swatches and image swatches, chip styles for multi select, and a styled dropdown in place of the browser one.</li>
<li><strong>Every color and size.</strong> Border, background, icon and active colors and sizing for every control, each with a live preview, plus star colors, apply button, input fields and active chip styling, and full filter box styling with background, border, radius, shadow and padding.</li>
<li><strong>Off-canvas with motion.</strong> A trigger button as a font icon, an uploaded image or a hamburger icon, attention animations such as pulse, bounce and swing, panel show and hide animations, and a separate panel width for small screens.</li>
<li><strong>Sixteen loading animations</strong> or your own image, in place of the three in the free version.</li>
<li><strong>Custom CSS and JavaScript.</strong> A CSS box per preset, plus JavaScript that runs before and after every filter request.</li>
</ul>

<h4>Shop Builder</h4>
<ul>
<li><strong>Design the product card.</strong> Image, badge, category, title, price, rating and buttons, arranged in a full page builder with a device switcher for desktop, tablet and mobile.</li>
<li><strong>Forty ready made templates.</strong> Start from one and edit it, then pick a grid such as uniform, featured first, repeating highlight, staggered or masonry.</li>
<li><strong>Images that sell.</strong> Aspect ratio, fit and hover effects, including a fade or slide to the second gallery image.</li>
<li><strong>Quick view, wishlist and compare.</strong> Open a product in a popup without leaving the results, and add wishlist and compare buttons through YITH or WCBoost.</li>
<li><strong>Your shop and category pages.</strong> Assign a template to the WooCommerce shop and category pages, with full control over which products show, in what order and how many per page.</li>
</ul>

<h4>Direct support and updates</h4>
Pro customers get direct support from us, and updates arrive in the WordPress dashboard once the license key is activated.

<a href="https://demo.hashthemes.com/super-woocommerce-product-filter/" target="_blank">See the Pro Demos</a> | <a href="https://demo.hashthemes.com/super-woocommerce-product-filter/comparison-free-vs-pro/" target="_blank">Compare Free and Pro</a> | <a href="https://1.envato.market/eK5yrQ" target="_blank">Get Pro</a>

<h3>Try it before you install</h3>
Explore a test dashboard to get hands on with every feature. Visit the <a href="https://tastewp.com/plugins/super-product-filter/" target="_blank">Test Dashboard</a> to open a ready made site with the plugin installed.

<h3>Documentation and Support</h3>
Step by step <a href="https://hashthemes.com/documentation/super-woocommerce-product-filter-documentation/" target="_blank">documentation</a> covers every setting, and help is available through the <a href="https://wordpress.org/support/plugin/super-product-filter/" target="_blank">WordPress.org support forum</a>. Found a bug or have an idea? We read every thread.

<h3>Get Started Today!</h3>
Install Super Product Filter, add a preset, drop the block or shortcode where you want it, and give your shoppers a faster way to find what they came for.

== Premium Upgrade ==
For premium upgrade, please click below link <br>
<a target="_blank" href="https://1.envato.market/eK5yrQ">Super WooCommerce Product Filter</a> | <a target="_blank" href="https://demo.hashthemes.com/super-woocommerce-product-filter/">Premium Demos</a>
 
== Installation ==
<li>Go to WordPress Dashboard > Plugins > Add New</li>
<li>Search for "Super Product Filter" and install the plugin</li>
<li>Activate the plugin through the 'Plugins' menu in WordPress</li>

== Changelog ==
= 2.0.1 - 11 Sep, 2026 =
* Fixed - Product grids of four columns, or seven and more, kept their desktop widths on phones and small tablets instead of dropping to two across. The grid widths added in 2.0.0 now stop at WooCommerce's small screen breakpoint, including on themes that move it, such as Astra

= 2.0.0 - 10 Sep, 2026 =
* Added - A builder screen for filter presets. Editing a preset now opens a purpose built, full page builder instead of the WordPress post editor, and saving happens in place without a page reload
* Added - Live typography preview. Every typography group in the design settings shows a sample line that takes on the font, size and spacing as they are changed
* Changed - The admin screens have been redesigned, and the choices the pro version adds now sit disabled where they apply, so what the upgrade offers can be seen in place
* Fixed - Saving a preset on a shop with many attributes no longer loses the settings at the end of the form. The panels render dozens of fields for every taxonomy, and PHP silently drops everything past its max_input_vars limit, so typography and other design settings came back as defaults after a save that reported success. The builder now sends the settings as a single field, which the limit does not apply to, and the no-script fallback refuses to save a truncated form rather than overwrite settings with defaults
* Added - Template overrides. Copy any filter template into yourtheme/super-product-filter/ to change its markup without editing the plugin, the same way WooCommerce templates are overridden
* Added - swpf_before_filter_fields, swpf_after_filter_fields, swpf_before_filter_field and swpf_after_filter_field actions, plus swpf_template_folder and swpf_locate_template filters
* Fixed - Term counts now take account of the on sale, rating, review and stock filters, so the number beside a term matches what selecting it returns
* Fixed - Colour swatches rendered blank, both because the swatch style was stripped before output and because the preview data was passed in a shape the renderer did not read
* Added - Option to remove every filter and setting when the plugin is deleted, under Settings. Off by default, so deactivating or reinstalling never loses your filters
* Added - Sorting filter, letting shoppers reorder results by price, date, title, popularity or at random
* Added - Product search filter for filtering results by keyword
* Added - Theme Compatibility Mode. When products look wrong after filtering, the filtered page is requested from the site instead of being rebuilt from WooCommerce's default templates, so products come back in the theme's own markup
* Added - The product list, result count and pagination are now found automatically, so the three selector settings only need changing when a theme cannot be detected
* Added - SEO option to keep filtered views out of search engines, so filter combinations do not create near duplicate pages or eat crawl budget. On for new installs. Existing sites keep their current behaviour until the option is switched on under Settings
* Added - swpf_filter_query_keys filter, for registering additional filter query parameters
* Security - Settings sanitization hardened. Values without an explicit rule were stored raw and are now sanitized
* Security - Filter presets are now restricted to administrators. Please note that Editors and Shop Managers can no longer manage filters
* Security - Added a capability check when saving filter settings
* Fixed - The side menu scrollbar library was referenced but never loaded, which threw a JavaScript error on every page
* Fixed - Removed references to slider theme images that were not shipped, which caused 404 requests on every page
* Fixed - A preset naming a preloader this version does not ship no longer produces a PHP warning, and the preloader name can no longer point outside the plugin folder
* Fixed - PHP warning when the filter ran with no submitted form data
* Fixed - PHP warning about a missing paged value when rendering the filter form
* Changed - Icon fonts are now loaded only when a filter preset actually uses them. The plugin bundles five families, and previously loaded all of them on every page. Its own tick, close and spinner icons are drawn inline instead, so a page can now load none at all
* Changed - The AJAX response no longer carries a copy of the product query object, which nothing read. Responses are around a third smaller
* Added - swpf_preset_icon_families filter, for themes that render filter markup themselves and need an icon font loaded
* Changed - Removed the Product Columns and Product Rows settings. They never took effect: the filters they relied on are read by WooCommerce before the filter renders, and simply registering them made WooCommerce hide its own Columns and Rows controls in the Customizer. Set them under Appearance > Customize > WooCommerce > Product Catalog instead. A product list added by a shortcode or page builder continues to use its own columns and limit
* Fixed - Filtering no longer changes how many products are shown on pages where a shortcode or page builder sets its own limit. The page size the loop was rendered with is now carried through to the filtered results
* Fixed - Filtering a product list rendered by a shortcode or page builder no longer breaks the grid. WooCommerce marks each row's first and last item from the loop's column count, and results were being rendered at the preset's count rather than the one on screen, so the row breaks landed in the wrong places and a three column grid collapsed to two. Results now follow the column count the page is actually showing
* Fixed - Added the product grid widths WooCommerce does not ship, so a four column layout no longer collapses to two
* Fixed - Elementor widget and shortcode now cast the filter preset id
* Fixed - Image import now requires a valid absolute image url
* Fixed - A stray "?>" was printed beside the On Sale entry in the applied filters list
* Fixed - The Upgrade To PRO menu entry linked to the demo site rather than the upgrade page
* Changed - The stylesheet no longer carries the styling for the pro version's filter skins, which the free version cannot select, making it around 800 lines lighter
* Added - Declared compatibility with WooCommerce High Performance Order Storage. The plugin never reads or writes an order, so the WooCommerce status screen no longer lists it as incompatible

= 1.0.8 - 6 Dec, 2025 =
* Compatibility test with WordPress version 6.9

= 1.0.7 - 26 Nov, 2025 =
* Plugin Check Error fixes

= 1.0.6 - 21 Nov, 2025 =
* Major Updates

= 1.0.5 - 12 Mar, 2025 =
* Product ordering bug - fixed
* Number sanitization fixed

= 1.0.4 - 4 Feb, 2025 =
* Category Walker bug fixed for dropdown filter

= 1.0.3 - 11 Sep, 2024 =
* Filter block minor bug fixed

= 1.0.2 - 3 Sep, 2024 =
* Added Elementor Module of Filter
* Added Elementor Block of Filter

= 1.0.1 - 26 Aug, 2024 =
* Code Formating
* Description on readme.txt file updated

= 1.0 - 25 Aug, 2024 =
* Release