=== YITH WooCommerce Ajax Product Filter ===

Contributors: yithemes
Tags: woocommerce ajax product filter download, woocommerce, widget, ajax, ajax filtered nav, ajax navigation, ajax filtered navigation, woocommerce layered navigation, woocommerce layered nav, product filter, product filters, ajax product filter, woocommerce ajax product filter, woocommerce filters, sidebar filter, sidebar ajax filter, ajax price filter, price filter, product sorting, woocommerce filter, taxonomy filter, attribute filter, attributes filter, woocommerce product sort, ajax sort, woocommerce ajax product filter, advanced product filters, ajax product filters, filters, woocommerce ajax product filters, woocommerce product filters, woocommerce product filters, category filter, attribute filters, woocommerce products filter, woocommerce price filter, yit, yith, yithemes
Requires at least: 5.3
Tested up to: 5.7
Stable tag: 4.0.4
License: GPLv3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html

YITH WooCommerce Ajax Product Filter offers you the perfect way to filter all products of your WooCommerce shop.

== Description ==

E-commerce **product filtering is a must-have tool** to help your customers narrow in on the product they’re looking for and find products they might be interested in based on specific features (size, color, category, etc.)

A reliable product filtering is what allows your visitors to enjoy and appreciate your product catalog instead of leaving it after a few seconds.

After all, if users can’t easily browse your product lists, they can’t easily find what they are looking for. And if they can’t find it, they can’t buy it. It’s easy to understand. :)

With the **YITH WooCommerce Ajax Product filter** and its new *“2021’s massive redesign”*, you can finally tackle the user experience in your WooCommerce powered shop. You can help your customers easily find and filter your products by categories, tags, taxonomy, and all kinds of attributes like sizes, colors, materials, brands, etc.

You can create unlimited presets and show the filters on standard WooCommerce pages (Shop, Category pages) or custom pages created with Gutenberg or Elementor. You can add your filters anywhere, using the built-in widget, shortcode, or Gutenberg block. In this way, you can create a preset of filters for the shop page, a preset of filters for a specific product category, another preset of filters for a custom page, and so on: no limits and total maximum control.

== YITH WooCommerce Ajax Product filter features ==

= FREE VERSION =

* Easily create and customize unlimited presets of filters to show on different pages  (New from 4.0!)
* Show filters using widget shortcodes and Gutenberg blocks (also on custom pages) (New from 4.0!)
* Filter by product categories (New from 4.0!)
* Filter by tags (New from 4.0!)
* Filter any product attributes (color, size, material, etc.)
* Choose the filter style (checkbox, select, text and color swatches)
* Choose the ordering of the terms
* Choose whether to show terms hierarchy or not
* Allow multiple selections (with AND or OR) or not
* Adoptive filtering: terms not available will be hidden
* Show a “Reset Filters” button
* Scroll-to-top option in mobile devices and/or desktop
* SEO options (Activate/deactivate the indexing of the generated URLs in search engines for the filter operation of the plugin) (New!)
* Beautiful & modern design, suitable for each kind of shop or theme

See it in action here:

[Check the Live Demo of the free version >](https://plugins.yithemes.com/yith-woocommerce-ajax-product-filter-free/)

= NEED MORE? CHECK THE PREMIUM VERSION! =

With the latest update, we have improved the UX and added significant features to our free version. For example, in the previous versions, some essential features like “filter by category” or “filter by tag” options were missing. We worked hard to release a free plugin that works for our users. Anyway, if you want more (like a mobile-friendly design inspired by the larger e-commerce sites), feel free to check the features we provide in our excellent premium version:

* Two additional layouts for the color filter: bicolor and image support (to better represent gradients, textures, patterns...)
* Additional layout: label/image. Upload icons, photos and images to identify terms
* Choose the position of the reset button (above products, above or under filters area)
* Choose whether to show active filters (with X to remove them) or not and their position (above products, above or under filters area)
* **Modal window on mobile: a layout for filters 100% optimized for mobile devices!** (Other plugins just add filters after the products list on mobile, yet, in this way, product filtering on smartphones and tablets is not working. We are the first to have designed and developed a 100% mobile-friendly filtering solution: in a modal window inspired by the largest e-commerce sites!)
* Filter for reviews
* **Price slider to filter products by price**
* **Price ranges with unlimited ranges (last range can show “& above”)**
* Filters to show on sale/in-stock products
* Ajax sorting for products displayed on the page (by rating, price, popularity, latest)
* Show an optional tooltip on hover for terms
* Show filters as a toggle (opened or collapsed by default)
* Show or hide the count of items
* Adoptive filtering: choose whether terms not available must be hidden (as in the free version) **or keep them visible but not clickable (only in premium)**
* Choose to hide empty terms and out of stock products automatically
* Customize colors and style of filters area through the dedicated “customization” tab (colors, color swatches size, select and checkbox type, etc.)
* Upload a custom loader
* **Permalinks management:** choose to keep permalinks unchanged, change them by adding filtered terms or use a **custom user-friendly and shorter permalink** (for a better sharing experience!)
* Use instant AJAX filtering or show a button to apply filters manually without AJAX
* Choose whether to show filter results on the same page or a new page
* Compatible with the YITH WooCommerce Brands Add-on plugin

See it in action here (we have three different demo samples):

[Check the Live Demo of the premium version >](https://plugins.yithemes.com/yith-woocommerce-ajax-product-filter/)

And if you love it, get it!

[GET THE PREMIUM VERSION HERE with a 100% Money Back guarantee >](https://yithemes.com/themes/plugins/yith-woocommerce-ajax-product-filter/)

== Installation ==

1. Unzip the downloaded zip file.
2. Upload the plugin folder into the `wp-content/plugins/` directory of your WordPress site.
3. Activate `YITH WooCommerce Ajax Product Filter` from Plugins page.

== Frequently Asked Questions ==

= I’m using YITH AJAX Product Filter widgets in my sidebar; can I continue to use them, or shall I switch to preset? =
Widgets will continue to work with the 4.x version, and we will continue to support them in the upcoming plugin versions. We encourage you to give the Preset system a try and, if you like it, to switch from widgets to Presets (we even included a tool to help you transition to the new system)
We will eventually deprecate old widgets, but we will make sure to notify everyone before this happens :)

= How do I upgrade to the new Preset system? =
It will be as easy as clicking a button: when updating to version 4.x, if you’re already using the plugin’s widgets, the system will automatically add a note in presets pages
Clicking on that note, you’ll be able to run our automatic conversion tool to create preset from your current sidebar configuration.
After creating presets, you’ll just need to use the **YITH AJAX Filter Preset** widget in your sidebar, replacing previous widgets, and selecting the desired presets.

If you accidentally hide the Upgrade popup, don’t worry: you can run the same process from **WooCommerce -> Status -> Tools**

You can read more about the upgrade process [here](https://docs.yithemes.com/yith-woocommerce-ajax-product-filter/premium-settings/general-settings/update-yith-woocommerce-ajax-product-filter-to-version-4-0/)

= Where can I see your plugin in action? =
The chances are that you’ve already seen it in some store, given its great adoption :)
The best way to test the full functionality is on our [Live demo](https://plugins.yithemes.com/yith-woocommerce-ajax-product-filter-free/), where you’ll be able to create your test-environment and try every option of the plugin
If you want more, you could also look at our premium version [here](https://plugins.yithemes.com/yith-woocommerce-ajax-product-filter/)

= I’ve installed your plugin, but not all selected filters are appearing on the frontend =
Our plugin automatically hides filters that don’t have any matching item with current product selection (this mostly work on shop-pages or product taxonomies)
If you think filters are incorrect, you could try to clear plugin transients, visiting **WooCommerce -> Status -> Tools** and using the dedicated button.

= I’ve installed your plugin, and now I’m missing some products from my shop page =
Our plugin doesn’t change the product list until a filter is activated
If you feel something is strange with your current product selection, you should try to clear plugin transients, visiting **WooCommerce -> Status -> Tools** and using the dedicated button.

= Is it compatible with all WordPress themes? =
Compatibility with all themes is impossible because there are too many who don’t follow the recommended coding standards for WooCommerce, but generally if themes are developed according to WordPress and WooCommerce guidelines, YITH plugins are compatible with them.
For an optimal result, we suggest you use our plugins in conjunction with our amazing [YITH Proteo](https://wordpress.org/themes/yith-proteo/) theme, available for free download on WordPress.org
If you find incompatibilities with your current theme, don’t hesitate to report them on the support forum, and we’ll do our best to provide official support

= After filtering my page breaks down/has missing elements =
This could be related to an incompatibility with your theme; in most cases, it could be caused by missing JS initialization after filtering, but also some template elements (such as sidebars or titles) could be missing after load
We suggest you test the plugin on a default twenty theme
If the problem persists, then it could be something specific with the plugin, and we invite you to report on the support forum
Otherwise, the problem is most probably related to theme incompatibility; in this case, your best chance is to contact theme’s developers, but you can also report on the support forum to let us know, and give us the chance to schedule a test.

= How can I get support if my plugin is not working? =
If you have problems with our WooCommerce plugins or something is not working as it should, first follow these preliminary steps:

* Test the plugin with a WordPress default theme, to be sure that the error is not caused by the theme you are currently using.
* Deactivate all plugins you are using and check if the problem is still occurring.
* Ensure that your plugin version, your theme version, and your WordPress and WooCommerce version (if required) are updated and that the problem you are experiencing has not already been solved in a later plugin update.

If none of the previous listed actions helps you solve the problem, then, submit a ticket in the forum and describe your problem accurately, specify WordPress and WooCommerce versions you are using, and any other information that might help us solve your problem as quickly as possible. Thanks!

== Screenshots ==

1. Filters on shop page
2. Applied filters and Reset button
3. Filter types - Select
4. Filter types - Color Swatches
5. Filter types - Checkbox
6. Filter types - Labels
7. Filter types - Text
8. Admin - Filter presets
9. Admin - Preset editing
10. Admin - Filter details
11. Admin - General settings
12. Admin - SEO settings
13. Elementor widget
14. Gutenberg block

== Changelog ==

= 4.0.4 - Released on 18 May 2021 =

* New: support for WooCommerce 5.3
* Update: YITH plugin framework
* Tweak: improved WPML metabox handling
* Tweak: added option to skip sanitization of url parameters
* Fix: pass all slugs to rawurldecode before printing them as HTML
* Fix: pass all terms coming from query string to sanitize_title
* Fix: possible error when adding all terms on backend filter
* Fix: cast both property-to-remove and term-slug to string before comparison, to avoid errors when deactivating filters
* Dev: added method to retrieve original post in Preset object
* Dev: added filter yith_wcan_all_filters_label to allow third party code to change All label in select filters
* Dev: added trigger yith_wcan_filters_parameters
* Dev: added filter yith_wcan_is_filter_active

= 4.0.3 - Released on 20 April 2021 =

* New: support for WooCommerce 5.2
* Update: YITH plugin framework
* Update: language files
* Tweak: better handle multiple filters for the same taxonomy in the same preset
* Tweak: prevent redirect to product page when filtering a search page and getting a single result
* Tweak: added base url for filtering operation
* Tweak: improved performance by optimizing tax_query array
* Tweak: avoid unnecessary queries to post when just want to list presets
* Tweak: added new transient yith_wcan_object_in_terms to improve performance
* Tweak: execute legacy post processing only when old widgets are active
* Tweak: improved WPML compatibility for presets
* Tweak: added pagination to preset edit page
* Fix: possible error with PHP older than 7.x
* Fix: prevent system from removing original page querystring, when clearing filters
* Fix: correctly remove taxonomy parameters after disabling filter on frontend
* Fix: add visibility query to plugins tax_query
* Dev: added yith_wcan_filter_reset_button_class hook to filter reset button class

= 4.0.2 - Released on 10 March 2021 =

* New: support for WordPress 5.7
* New: support for WooCommerce 5.1
* New: Plugin UI/UX restyling
* New: added filters preset
* New: added YITH AJAX Filters Preset widget
* New: added [yith_wcan_filters] shortcode
* New: added Gutenberg block to display Filters Preset in any page
* New: added Elementor widget to display Filters Preset in any page
* New: filters will now work on any page, for any loop of products
* New: added [yith_wcan_reset_button] shortcode
* New: added Gutenberg block to display Reset Filters button in any page
* New: added Elementor widget to display Reset Filters button in any page
* New: added automatic upgrade procedure from old system to new preset
* New: full compatibility to all products taxonomies
* Update: YITH plugin framework
* Tweak: major code refactoring and optimization

= 3.11.8 - Released on 11 February 2021 =

* New: support for WooCommerce 5.0
* Update: YITH plugin framework

= 3.11.7 - Released on 22 January 2021  =

* Fix: non-standard hook

= 3.11.6 - Released on 11 January 2021  =

* New: Support for WooCommerce 4.9
* Fix: Dropdown not working for 'select'

= 3.11.5 - Released on 03 December 2020  =

* New: Support for WooCommerce 4.8
* New: Support for WordPress 5.6
* New: Support for Twenty Twenty-One theme

= 3.11.4 - Released on 11 November 2020  =

* New: Support for WooCommerce 4.7
* New: Possibility to update plugin via WP-CLI
* New: Possibility to update plugin via ManageWP
* New: Greek translation
* Update: plugin framework

= 3.11.3 - Released on 16 October 2020  =

* New: Support for WooCommerce 4.6
* Update: plugin framework

= 3.11.2 - Released on 14 September 2020  =

* New: Support for WooCommerce 4.5
* New: Support for WordPress 5.5
* New: Support for YITH WooCommerce Wishlist
* Update: Plugin framework
* Fix: Dropdown filter disappear if a filter match with a single product
* Dev: yith_wcan_filter_label_text hook to filter label text

= 3.11.1 - Released on 22 June 2020  =

* New: Support for WooCommerce 4.3
* Update: plugin framework
* Fix: Security issues on form submit in admin area

= 3.11.0 - Released on 01 June 2020  =

* New: Show product count in dropdown filter
* New: Support for WooCommerce 4.2
* Update: plugin framework
* Fix: Reset filter show category page instead of shop
* Dev: yit_get_filter_args hook for filter the filter url arg

= 3.10.0 - Released on 30 April 2020  =

* New: Support for WooCommerce 4.1
* Update: plugin framework
* Dev: yith_wcan_color_get_objects_in_term to filter the get_product_in_terms function

= 3.9.0 - Released on 10 March 2020  =

* New: Support for WordPress 5.4
* New: Support for WooCommerce 4.0
* Update: plugin framework

= 3.8.4 - Released on 27 December 2019  =

* New: Support for WooCommerce 3.9
* Fix: Not updating filters when the customer apply a filter by price

= 3.8.3 - Released on 11 December 2019 =

* Fix: Filter not working on product tag page
* Update: plugin framework

= 3.8.2 - Released on 28 November 2019  =

* Update: plugin framework

= 3.8.1 - Released on 04 November 2019  =

* Update: plugin framework
* Fix: Undefined variable message on frontend

= 3.8.0 - Released on 30 October 2019  =

* New: Support for WordPress 5.3
* New: Support for WooCommerce 3.8
* Update: plugin framework
* Fix: Call get_query_object() on null
* Dev: New filter 'yith_wcan_skip_check_on_product_in_term'

= 3.7.1 - Released on 27th August, 2019  =

* Fix: curl_init() doesn't exist

= 3.7.0 - Released on 07th August, 2019  =

* New: Support for WooCommerce 3.7
* Fix: Style issues with Storefront theme

= 3.6.6 - Released on 12nd June, 2019 =

* Fix: Bug on plugin options

= 3.6.5 - Released on 12nd June, 2019 =

* Update: Plugin Core Framework

= 3.6.4 - Released on 06th June, 2019 =

* Tweak: WooCommerce 3.6 optimization
* Update: Plugin Core Framework
* Update: Languages file
* Fix: Unable to reset filter in subcategory page
* Fix: undefined variable term_id in attributes table

= 3.6.3 - Released on 23rd April, 2019 =

* Update: Plugin Core Framework

= 3.6.2 - Released on 08th April, 2019 =

* New: Support to WooCommerce 3.6
* Tweak: New Widgets name
* Update: Plugin Core Framework
* Fix: Undefined variable term_id in attributes table
* Fix: Wrong reset page with WooCommerce Filter by price widget
* Fix: Support to Aurum theme - Filter issue using AND operator
* Fix: Undefined index: source_tax in YITH Reset Filter widget
* Fix: Issue with reset filter in product categories page
* Fix: Reset button doesn't works if a variable use a slash char in query string
* Dev: new parameter for filter 'yith_wcan_dropdown_label'

= 3.6.1 - Released on 11th October, 2018 =

* Update: Plugin Core Framework

= 3.6.0 - Released on 11th October, 2018 =

* New: Support for WooCommerce 3.5
* New: Support for Aardvark theme
* New: Support for Aurum theme
* New: Support for UX Shop theme
* New: Support for YooTheme theme
* Fix: Wrong results with search query string
* Fix: Double chosen icon with themes that override layered navigation style
* Tweak: Widget reinit after ajax call
* Tweak: Flatsome optimization
* Tweak: Prevent untrailingslashit on filter url for SEO optimization
* Update: Spanish language
* Update: Italian Language
* Dev: yith_wcan_skip_no_products_label hook

= 3.5.1 - Released on 14th March, 2018 =

* Tweak: Removed old YITH_WCAN_Helper class
* Updated: Plugin core framework
* Fix: Unable to reset filters in product categories page
* Fix: PHP Notice: Undefined index: display
* Fix: $count not defined in loop

= 3.5.0 - Released: 01 Feb, 2018 =

* New: 100% German translation (Thanks to Thomas)
* New: Support for WooCommerce 3.3.0
* Fix: Undefined index "dropdown-type" in shop page
* Fix: Reset filter doesn't works if the user filter by categories and use only one filter
* Fix: Show only parent term with attrbute filter doesn't works
* Fix: $count doesn't exists with OR query type set
* Dev: yith_wcan_can_be_displayed hook
* Dev: yith_wcan_list_type_empty_filter_class hook

= 3.4.6 - Released: 12 Oct, 2017 =

* Fix: 500 internal server error if use with YITH WooCommerce Ajax Search plugin

= 3.4.5 - Released: 10 Oct, 2017 =

* New: Support to WooCommerce 3.2
* New: Label type of YITH WooCommerce Color and Label Premium integration

= 3.4.4 = Released: 26 Sep, 2017 =

* Fix: Support for $wpdb->prepare() with WordPress 4.8.2

= 3.4.3 - Released: 04 Jul, 2017 =

* Fix: No filtered results with Page Builder by SiteOrigin
* Fix: Warning with salient theme
* Fix: Reset filter use term_taxonomy_id instead of term_id

= 3.4.2 - Released: 05 Jun, 2017 =

* New: Support to Basel theme
* Fix: Unable to filter in vendor page

= 3.4.1 Released: 18 May, 2017 =

* Fix: Issue with reset button in product_cat page

= 3.4.0 - Released: 08 May, 2017 =

* New: Sorting option for free version
* Fix: Issue with current filter in product tag page
* Fix: Unable to filter with qTranslateX and Socute theme
* Fix: Unable to filter with qTranslateX and YITH theme FW 1.0
* Fix: Issue with reset button in product_tag page


= 3.3.2 - Released: 19 April, 2017 =

* New: Support for Salient theme
* New: Support for WooCommerce Grid/List view
* Tweak: Create dropdown style dynamically
* Fix: Filter by label and filter by dropdown lost current filter
* Fix: Reset button doesn't works fine on product category page
* Fix: Support to visibility taxonomy in WooCommerce 3.0.x

= 3.3.1 - Released: 20 MArch, 2017 =

* Fix: Filter by color lost current filter

= 3.3.0 - Released: 24 February, 2017 =

* New: Support to WooCoomerce 2.7-beta3
* Fix: missing argument 2 in yith_wcan_exclude_terms and yith_wcan_include_terms hook

= 3.2.0 - Released: 20 February, 2017 =

* Add: Back/Next browser button integration
* Tweak: Filter uri management
* Tweak: Add filter to force widget dropdown reinit
* Tweak: YITH Brands integration
* Fix: Unable to hide product count for attributes
* Fix: Lost brands on 2nd filter step
* Fix: Current filter disappears in label, dropdown and color style
* Fix: Filter by attribute (all styles) lost current category in product category page
* Fix: Missing queried object in filter type list
* Fix: Conflict in search page
* Dev: yith_wcan_unfiltered_product_ids hook


= 3.1.2 - Released: 17 January, 2017 =

* Tweak: Support for YITH WooCommerce Brands add-on FREE
* Fix: Product image disappears after filter with lazy load option enabled
* Fix: Empty li tag with query type OR in categories filter
* Fix: Reset widget doesn't works with categories
* Fix: Order by doesn't works with filter type list, label and dropdown
* Dev: yith_wcan_brands_enabled hook

= 3.1.1 - Released: 28 December, 2016 =

* Added: yit_get_terms_args hook
* Added: yith_wcan_skip_no_products_color hook
* Added: yith_wcan_show_no_products_attributes hook
* Added: yith_wcan_after_reset_widget hook
* Added: yith_wcan_before_reset_widget hook
* Removed: yith_wcan_hide_no_products_attributes hook

= 3.1.0 - Released: 05 December, 2016 =

* Added: Support to WordPress 4.7

= 3.0.12 - Released: 23 November, 2016 =

* Fixed: Url management with query type set to OR
* Fixed: Close dropdown widget before open another dropdown
* Fixed: Layout issue with color style

= 3.0.11 - Released: 05 October, 2016=

* Tweak: Removed deprecated taxonomy count WooCommerce transient
* Fixed: Wrong reset url if filter start from product category page

= 3.0.10 - Released: 29 September, 2016 =

* Fixed: Warning: in_array() expects at least 2 parameters, 1 given with query type set to OR
* Fixed: Widget dropdown doesn't works on Flatsome Theme

= 3.0.9 - Released: 31 Aug, 2016 =

* Added: Support to Ultimate Member plugin
* Fixed: Error on activation "the plugin required WooCommerce in order to works"
* Fixed: Get term issue with old WordPress version

= 3.0.8 - Released: Aug 11, 2016 =

* Added: Support to WordPress 4.6RC2
* Tweak: Removed deprecated arg to get_terms function
* Fixed: Empty filter doesn't hide after ajax call
* Fixed: Max execution time issue and 500 internal server error issue

= 3.0.7 - Released: Jul 29, 2016 =

* Added: yith_wcan_get_list_html_terms hook
* Fixed: Filter doesn't work with WooCommerce 2.6.x

= 3.0.6 - Released: Jul 21, 2016 =

* Fixed: Reset button doesn't show after click on a filter

= 3.0.5 - Released: Jul 20, 2016 =

* Fixed: style="displya:none"> text appears if the filters are empty
* Fixed: Argument #1 is not an array in frontend class
* Fixed: WP_Post object cannot convert to string in frontend class
* Fixed: Problem with cirillic charachter
* Fixed: Wrong count in filter widgets

= 3.0.4 - Released: Jul 8, 2016 =

* Fixed: Filters show all attributes in shop and product taxonomy pages

= 3.0.3 - Released: Jul 6, 2016 =

* Fixed: Wrong query object in layered nav query with WooCommerce 2.6.2

= 3.0.2 - Released: Jul 4, 2016 =

* Fixed: Filters disappears in sort count select on Avada theme
* Fixed: Filter by attributes doesn't works with WooCommerce 2.5
* Fixed: rtrim waring in untrailingslashit
* Fixed: Wrong filter on category page with WooCommerce 2.6.2

= 3.0.1 - Released: Jun 14, 2016 =

* Fixed: print empty li tag after update to version 3.0.0

= 3.0.0 - Released: Jun 13, 2016 =

* Added: Support to WooCommece 2.6
* Tweak: Layered navigation management
* Tweak: English Typo
