=== Filter Everything&nbsp;— Product Filter & WordPress Filter ===
Contributors: stepasyuk
Tags: woocommerce product filter, woocommerce filter, product filter, post filter, ajax filter
Stable tag: 1.9.1
Requires at least: 4.6
Tested up to: 6.8.2
Requires PHP: 5.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The most universal filters plugin for WordPress and WooCommerce products.

== Description ==
**The most universal filters plugin for WordPress and WooCommerce.**
It filters any post types and by any criteria. Allows you to sort results and search by key phrase. Compatible with page builders.

### Demos
Please see demos of filtering for [Clothing](https://demo.filtereverything.pro/product-category/clothing/women/color-red/brand-hm/c-kind-dress/?max_price=100), [Smartphones](https://demo.filtereverything.pro/product-category/electronics/smartphones/brand-apple/), [Posts](https://demo.filtereverything.pro/posts/author-stepasyuk/category-health/) and others.

### Key features
- Filters any post types
- Supports any filtering criteria
- Easy integration on a page using Widgets or Shortcodes
- Compatible with almost all page builders (*PRO)
- Contains a lot of useful filter options
- Supports search by keyword
- Allows you to sort filtered results by any criteria
- Supports color swatches and brand logos
- Step-by-step filtering
- Vertical and Horizontal layouts, columns
- Works in both "Submit button" and "Auto-submission" modes
- Ready to use on mobile devices
- Compatible with translation plugins WPML, Polylang
- Supports AJAX
- Contains hooks and features for developers

**Find more detailed information about each feature below ↓**

### Watch the [video review](https://www.youtube.com/watch?v=g1_qlJvNdsg) from WPTuts
https://www.youtube.com/watch?v=g1_qlJvNdsg

### PRO version 💎 features
- Filtering any Post loops/grids (any Custom WP Queries)
- Ability to use Filters on any page including Singular
- Full compatibility with Page builders like Elementor [example](https://demo.filtereverything.pro/elementor/), Oxygen, Divi, WPBakery Composer etc
- Enhanced SEO options [example](https://demo.filtereverything.pro/product-category/electronics/smartphones/brand-apple/) that allows you to adjust SEO data for the filtering pages
- Clean URLs and Permalinks like **/color-blue/brand-acer/** [example](https://demo.filtereverything.pro/product-category/electronics/laptops/color-blue/brand-acer/). Full control over filtering page URLs
- Premium Support
[Learn more](https://filtereverything.pro/) About the PRO version.

### Filters everything in WordPress & WooCommerce
That is any Post types including WooCommerce Products and custom Post types. For example Products, Posts, Pages, Recipes, Real estate objects, Cars — **everything**.

### Filters by any Criteria
They are Categories, Tags, custom Taxonomies, WooCommerce attributes, Custom Fields including created with ACF, Authors etc.

No need to list all possible filters you can create &mdash; they can be any, but most popular are:
- [Price](https://demo.filtereverything.pro/example/by-price/), [Sale price](https://demo.filtereverything.pro/example/by-sale-price/)
- [Brand](https://demo.filtereverything.pro/product-category/electronics/smartphones/)
- [Product Category](https://demo.filtereverything.pro/), Tag
- [Custom Taxonomy](https://demo.filtereverything.pro/posts/)
- [Custom Fields](https://demo.filtereverything.pro/example/acf/) including created with ACF plugin
- [Size](https://demo.filtereverything.pro/product-category/clothing/women/size-xxl/), [Color](https://demo.filtereverything.pro/product-category/clothing/women/color-red/) - any WooCommerce attributes
- [Width, Height, Length](https://demo.filtereverything.pro/example/by-length-width-height/), [Weight](https://demo.filtereverything.pro/example/by-weight/)
- [On sale](https://demo.filtereverything.pro/example/by-sale/) status
- [In Stock](https://demo.filtereverything.pro/example/by-stock/) status
- [Downloadable](https://demo.filtereverything.pro/example/by-downloadable/), [Backordered](https://demo.filtereverything.pro/example/by-backorders/), [Featured](https://demo.filtereverything.pro/example/by-featured/) product statuses
- [Product type](https://demo.filtereverything.pro/example/by-type/)
- [Shipping Class](https://demo.filtereverything.pro/example/by-shipping/)
- [Product Visibility](https://demo.filtereverything.pro/example/by-rating/)
- [Featured image](https://demo.filtereverything.pro/posts/) exists/not exists
- [Views count](https://demo.filtereverything.pro/posts/)
- [Post or Product date](https://demo.filtereverything.pro/posts/?date_from=2016-12-20t15.29.13&date_to=2018-01-18t07.04.11)
- Cooking time
- Calories
- [Author](https://demo.filtereverything.pro/posts/)
- ... **any**

### Widgets and shortcodes
[Filters](https://filtereverything.pro/resources/filters-widget/), [Sorting field](https://filtereverything.pro/resources/sorting-widget/) and [Chips](https://filtereverything.pro/resources/chips-widget/) (selected filters) can be inserted on a page as widgets or [shortcodes](https://filtereverything.pro/resources/shortcodes/)
This allows you easily to integrate filters on your site independently from a theme or page builder you use.

### Page builders
The plugin is compatible with almost all page builders. It was tested with Elementor, Divi, Themify, WPBakery Composer, Oxygen, Beaver builder, Bricks Builder, Breakdance etc.
As the Free version of the plugin supports filtering of the native WordPress loops (Main WP_Query) only, the full support of the page builders is provided in the PRO version.

### Fine-tuning filter options
Including URL variable names, views, filtering logic, term sorting, collapsing/expanding, hierarchy, more/less, tooltip, search field, related filters, and more...

### Search by keyword field
Allows you to [search among filtered results](https://demo.filtereverything.pro/search-and-filter/?srch=jacket) and vice versa - to filter results received from search.

### Sorting field
Allows you to create a list of own sorting parameters and to place [Sorting field](https://demo.filtereverything.pro/product-category/electronics/laptops/?ordr=price) anywhere on your site.

### Supports Color swatches and Brand logos
Allows you to make [filter terms more visible](https://demo.filtereverything.pro/product-category/clothing/women/color-red/brand-hm/c-kind-dress/?max_price=100)

### «Auto-submission» and «Apply button» modes
"Auto-submission" - filter updates results every time, when you choose option.
"[Apply button](https://demo.filtereverything.pro/apply-button/)" - allows you to select desired criteria and updates results after click on the Submit button only.

### Step-by-Step filtering
Allows you to display only particular Filter terms in dependency from selection of another Filter.

### Vertical and horizontal layouts, columns
You can display Filters widget in sidebar or [above the filtered posts](https://demo.filtereverything.pro/horizontal-views/color-blue/brand-hm/)

### Compatibility with translation plugins
Allows you to translate filters with [WPML](https://wpml.filtereverything.pro/filters-in-english/), Polylang and use them in other languages

### Supports AJAX
Thus your visitors can [faster to filter](https://demo.filtereverything.pro/example/dark-overlay-and-ajax-loader/) without reloading of the whole page.

### Compatible with popular Themes and Plugins
Compatible with WPML, ACF, Polylang and others popular. Supports color schemes to allow you easily integrate with your design

### Filtering values in any languages
Among them [Chinese, Arabic, Hebrew, Hindi](https://demo.filtereverything.pro/example/acf/checkbox-%E4%B8%AD%E6%96%87%E5%96%AE%E5%AD%97%E7%9A%84%E4%BE%8B%E5%AD%90/) etc

### Made for developers
Supports [hooks](https://filtereverything.pro/resources/hooks/), useful [functions](https://filtereverything.pro/resources/functions/) and [templates overriding](https://filtereverything.pro/resources/templates-overriding/) to allow developers to customize as they like

== Frequently Asked Questions ==

= How do I get support? =

You can try to find a solution to your problem in the plugin [documentation](https://filtereverything.pro/resources/&utm_source=repository) or ask your question on the support [forum](https://wordpress.org/support/plugin/filter-everything/). PRO version users can get more info about support [here](https://filtereverything.pro/support/).

= The Filter Widget doesn't appear on desired page =

Usually if you don’t see the Filter Widget on desired page, you need to:
1. Check if the Filter Everything widget is placed in the correct sidebar (widget area) for this page.
1. Check if the Filter Set post type matches to this post type’s page.
1. Check if the Filter Set location settings matches to this page.
1. Check if all filters terms are not empty and contain at least one post.
Or read please this [article](https://filtereverything.pro/resources/filters-widget/)

= AJAX feature does not work on my site =

On those WordPress themes that are created according to the standards, AJAX works automatically. However, if you are having problems, check out the AJAX settings in [this article](https://filtereverything.pro/resources/plugin-settings/).

== Installation ==

Uploading via WordPress dashboard
1. From the WordPress dashboard visit Plugins > Add New > Upload Plugin
2. Choose plugin zip file and upload it
3. Install and Activate the plugin
4. After installation, you will find a new menu item “Filters”
5. Read the documentation to [get started](https://filtereverything.pro/resources/quickstart/)

Uploading via FTP
1. Download the Filter Everything plugin zip file
2. Extract zip file and upload “filter-everything” folder to the /wp-content/plugins/ directory
3. Activate the plugin through the “Plugins” menu in WordPress
4. After installation, you will find a new menu item “Filters”
5. Read the documentation to [get started](https://filtereverything.pro/resources/quickstart/)

== Screenshots ==

1. Common Filters view
2. Filtering Smartphones
3. Mobile views
4. Filter Set with filters
5. Single filter fields
6. URL prefixes settings

== Changelog ==

= 1.9.1 =
*Release Date - 22 July 2025*
* Dev   - Added a new View ‘Rating’ for filters that displays rating stars
* Dev   - Added iOS-style toggle switches instead of regular checkboxes in the plugin settings fields
* Dev   - Added compatibility for the 'Discount Rules for WooCommerce' plugin to the Price range and the On sale filters
* Tweak - The “Collapse Filters Widget on Mobile devices” option has been improved
* Tweak - Added different borders to the fields of the Filter Widget depending on hover, focus, blur events
* Tweak - Added the FLRT_SET_TRANSIENT_ENABLED constant to disable transients
* Tweak - Added the preview link to the eye button for the new Filter Set
* Tweak - Increased a filter item height and added the "More options" button in dashboard
* Fix   - Fixed a bug with the “+” symbol in filter terms and URLs
* Fix   - Fixed a bug with the "?" character that remained in the URL after using the Range slider filter
* Fix   - Fixed a bug with a PHP message that there is no array element with key 'cols_count' in FiltersWidget.php
* Fix   - Fixed a bug and removed numeric values from the Range slider filter if a term is empty
* Fix   - Fixed a bug in Query Loop Pagination

= 1.9.0 =
*Release Date - 21 March 2025*
* Dev   - Added support for Woo Brands
* Tweak - Improved and fixed CSS styles for filters widget
* Tweak - Made floor(); and ceil(); for range values optional via apply_filters(); function
* Tweak - Added FLRT_DISABLE_CREDENTIALS constant to disable credentials link on filtered pages
* Fix   - Fixed bug with a Filter Set that contains the only Search field
* Fix   - Fixed bug with Fatal error /filter-everything/src/Admin/AdminHooks.php:144

= 1.8.9 =
*Release Date - 21 January 2025*
* Dev   - Added ability to make Color swatches rounded
* Fix   - Small CSS fixes for range slider, widget element margins.
* Fix   - Fixed bug in JS code for the mobile widget button counter ((18)) issue
* Fix   - Fixed bug with empty Parent filter label
* Fix   - Fixed bug with Elementor pagination e.g. "e-page-5dabfd1=2"

= 1.8.8 =
*Release Date - 07 November 2024*
* Fix   - Fixed bug with sorting method
* Tweak - Added attribute all="true" for the [fe_posts_found] shortcode that counts all posts for all Filter Sets on a page

= 1.8.7 =
*Release Date - 29 October 2024*
* Tweak - Added hook 'wpc_swatch_image_size'
* Fix   - Fixed issues with Select2 dropdowns after WooCommerce update to the > 9.0.0
* Fix   - Fixed style issues with the Avada theme
* Fix   - Fixed compatibility with the Load more button/Infinite scroll in Elementor
* Fix   - Fixed bug with sorting terms

= 1.8.6 =
*Release Date - 18 July 2024*
* Dev   - Added ability to translate SEO Rules with Polylang
* Fix   - Fixed compatibility issue with Polylang plugin
* Fix   - Fixed the ability to rewrite functions wrapped with function_exists()
* Fix   - Fixed small issue with terms order equal to the order in ACF field
* Fix   - Fixed issue with text search through filtered posts and apostrophe character
* Tweak - Added hooks 'wpc_taxonomy_location_terms', 'wpc_post_type_location_terms', 'wpc_author_location_terms'

= 1.8.5 =
*Release Date - 15 May 2024*
* Dev   - Added "Labels for Chips" option to configure chip labels
* Dev   - Added "Dropdown Label" option
* Tweak - The "Show in Chips" option was hidden due to lack of demand
* Tweak - Now default terms order in a Custom Field is the same as in ACF field
* Tweak - If ACF field terms have labels, they displays in the Filters widget instead of values
* Fix   - Fixed issue with WPML and Homepage in different languages

= 1.8.4 =
*Release Date - 08 April 2024*
* Dev   - Tested and improved compatibility with WordPress 6.5
* Fix   - Fixed issue with Filter Set for a post page
* Fix   - Fixed issue with preview products in draft status and PHP > 8.2
* Fix   - Fixed JS error occurred on type in the Search field input
* Fix   - Issue with incorrect attribute 'for' in the Filters Widget title label

= 1.8.3 =
*Release Date - 14 February 2024*
* Dev   - Increased plugin performance and made faster it up to 10 times
* Fix   - Added compatibility with PHP > 8.1, removed FILTER_SANITIZE_STRING error
* Fix   - Fixed bug with Date view available by default in a filter
* Fix   - Fixed the issue with products with empty '_sale_price' meta values and wrong On sale counters
* Fix   - Fixed issue with a parent filter, when current WordPress term archive page is selected term in the parent filter
* Fix   - Fixed bug when the only Search Field presents in a Filter Set
* Fix   - Fixed issues with Polylang plugin when language functions are not defined
* Fix   - Fixed issue with double click on the Apply Button after using the Search Field
* Fix   - Set correct permissions for the /assets dir
* Tweak - Added hook 'wpc_plugin_user_caps' to allow to modify user roles that can use the plugin
* Tweak - Made AJAX loading circle thinner

= 1.8.2 =
*Release Date - 10 January 2024*
* Fix   - Fixed issue with GET-style parameters in filter URLs after 1.8.0 update

= 1.8.1 =
*Release Date - 10 January 2024*
* Fix   - Fixed warning message on the login screen
* Fix   - Fixed issue with resetting filters cache

= 1.8.0 =
*Release Date - 08 January 2024*
* Dev   - Added new filter type by Post Date
* Tweak - Made Numeric Range filters collapsible
* Fix   - Renamed 'wpc_clean' function to 'flrt_clean' to avoid conflicts

= 1.7.16 =
*Release Date - 14 December 2023*
* Dev   - Added support for Dokan store pages
* Dev   - Added Experimental option that hides variable products with out of stock variations
* Tweak - Improved search field and added variations to search by SKU
* Tweak - Added global variable $flrt_plugin to access the class
* Tweak - Added ability to create translations for "Any %entity%" Filter Set type
* Fix   - Fixed the issue with double SEO titles and SEO Rules entities on block themes
* Fix   - Fixed issue with term_taxonomy_id and taxonomy filter counters
* Fix   - Fixed Select2 CSS conflict in Woocommerce admin forms

= 1.7.15 =
*Release Date - 01 August 2023*
* Dev   - Added Spanish translation
* Dev   - Tested compatibility with WordPress 6.3
* Fix   - Added 301 redirect to canonical URL with (or without) correct user trailing slash on filtering pages
* Fix   - Added hook 'wpc_do_filter_request' to the collectFilteredPostsIds(); method to fix term counter
* Fix   - Fixed hover "checked" effect for Color swatches on mobile devices
* Fix   - Improved On Sale and Regular price translations for the On Sale filter
* Tweak - Added hook 'wpc_set_min_max' to modify the $min_and_max array
* Tweak - Sorted Filter and SEO Rule terms alphabetically for greater convenience

= 1.7.14 =
*Release Date - 19 June 2023*
* Dev   - Added German translation. Thanks to Daniel (microteq)
* Tweak - Added the "How to?" Meta box on the Filter Set edit screen for quick help with popular questions
* Fix   - Hotfix for the 'MetaBoxes::adviceMetabox() cannot be called statically' error

= 1.7.11 =
*Release Date - 31 May 2023*
* Tweak - Added support for multi-currency for the WOOCS and CURCY plugins
* Fix   - Fixed location for the Apply button, when Filter Set is directed to All archive pages/Any taxonomy,post,author
* Fix   - Fixed posts search count for the search by SKU

= 1.7.10 =
*Release Date - 26 May 2023*
* Fix   - Fixed missing styles on Color swatches and logos edit pages in dashboard

= 1.7.9 =
*Release Date - 25 May 2023*
* Fix   - Fixed location for the Apply button, when Filter Set is directed to All archive pages/Any taxonomy,post,author
* Fix   - Fixed bug when the Apply button does not appear on frontend in the latest position of the Filter Set
* Fix   - Fixed bug with negative numbers for Numeric filters
* Fix   - Fixed bug with 404 errors, when Filter Set was in Trash and there were filters without Filter Set in DB
* Fix   - Fixed bug with JS alert for mobile Pop-up widget when AJAX is disabled
* Tweak - Replaced /page/ with $wp_query->pagination_base in permalinks

= 1.7.8 =
*Release Date - 08 May 2023*
* Fix   - Fixed fatal error in wpc-utility-functions.php(279): flrt_get_post_type_location_terms();

= 1.7.7 =
*Release Date - 08 May 2023*
* Dev   - Added Search field in the Filters widget. It is compatible with filtered posts, supports AJAX and allows to search by SKU among Woo products
* Dev   - Added ability to direct Filter Set to all singular pages (Any page)
* Fix   - Fixed compatibility issue for Bricks Builder and Filter Set for "Any taxonomy"
* Fix   - Improved CURL outer request to avoid 10 seconds freezing in /wp-admin when the request is failed
* Fix   - Fixed fatal error in FiltersWidget.php(32): extract()
* Tweak - Added filter get terms hooks to allow to select terms from external tables
* Tweak - Added hook 'widget_title' for all widget titles
* Tweak - Added hook 'wpc_do_filter_request' to handle every filter action for wp_query
* Tweak - Added hooks 'wpc_all_set_wp_queried_posts' and 'wpc_variations_meta_query'
* Tweak - Added notice, when "HTML id or class of the Posts Container" configured wrong

= 1.7.6 =
*Release Date - 14 March 2023*
* Dev   - Added [fe_posts_found] shortcode to display filtered posts number
* Fix   - Fixed bug with "+" symbol in ACF fields
* Fix   - Fixed compatibility related with post types for the latest Polylang Pro
* Tweak - Optimized main CSS file
* Tweak - Disabled including assets on pages does not related with filters
* Tweak - Improved frontend for the RTL version
* Tweak - Removed Uncategorized from Category pages list
* Tweak - Improved filter templates. Overridden templates should be updated

[See changelog for all versions](https://demo.filtereverything.pro/changelog.txt).

== Upgrade Notice ==

= 1.9.1 =
*Release Date - 22 July 2025*
* Dev   - Added a new View ‘Rating’ for filters that displays rating stars
* Dev   - Added iOS-style toggle switches instead of regular checkboxes in the plugin settings fields
* Dev   - Added the ability to duplicate the Filter Sets
* Dev   - Added compatibility for the 'Discount Rules for WooCommerce' plugin to the Price range and the On sale filters
* Tweak - The “Collapse Filters Widget on Mobile devices” option has been improved
* Tweak - Added different borders to the fields of the Filter Widget depending on hover, focus, blur events
* Tweak - Added {raw_archive_title} option to add unformatted Archive title to a SEO Rule
* Tweak - Added the FLRT_SET_TRANSIENT_ENABLED constant to disable transients
* Tweak - Added the preview link to the eye button for the new Filter Set
* Tweak - Increased a filter item height and added the "More options" button in dashboard
* Fix   - Fixed a bug with the “+” symbol in filter terms and URLs
* Fix   - Fixed a bug when filtering result pages were open by permalinks even if they are disabled
* Fix   - Fixed a bug with the "?" character that remained in the URL after using the Range slider filter
* Fix   - Fixed a bug with a PHP message that there is no array element with key 'cols_count' in FiltersWidget.php
* Fix   - Fixed a bug and removed numeric values from the Range slider filter if a term is empty
* Fix   - Fixed a bug in Query Loop Pagination