=== Faster Woo Widgets === Contributors: dhilditch Donate link: https://www.wpintense.com/ Tags: speed, performance Requires at least: 4.7 Tested up to: 5.8.2 Stable tag: 2.25 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html The best filtering plugin being built for WooCommerce and WordPress. == Description == The best filtering plugin being built for WooCommerce and WordPress. Filter WooCommerce any way you like using native WordPress tech. And it's FAST! Tested against multiple 1 million product stores every release. == Frequently Asked Questions == = Is this PHP 8 compatible? = Yes, and it's MySQL 8 and MariaDB compatible too. == Changelog == = 3.58 Alpha (date unknown) * Merged Display Options from Attribute into Custom Taxonomy Class * Changed Attribute widget to inherit Custom Taxonomy Class so we have a single code path for the SQL and Display of categories, custom taxonomies and any attributes * Added PostMeta filter type and altered Products On Sale and In Stock widgets to inherit the PostMeta filter type. = 3.57 Beta (15th March 2022) = * Fixed CSS bug which was causing taxonomy children to appear to the right hand side on some themes and end up invisible * Fixed bug with 'Current Hierarchy' which was causing pwb-brands to disappear if set to hierarchical and a brand was selected * Fixed bug with new WooCommerce Attribute Lookup table where they add 1=0 to the WHERE clause if the attribute is not in the $_GET param (i.e. if users used pretty permalinks for attributes or attribute archives then these were broken and would return 0 products on the new WooCommerce) = 3.56 Beta (9th March 2022) = * Updated plugin updater to update directly from bitbucket, not from wpintense = 3.55 Beta (4th March 2022) = * Fixed attribute widget so it works properly on search results pages * Improved styles slightly for colour widgets = 3.54 Beta (4th March 2022) = * Fixed onsale flag queries for variable products so that parents of variable products which are onsale now also correctly get set to onsale (child variations also marked as onsale where applicable) * Removed old debug messages = 3.53 Beta (3rd March 2022) = * Hardened query alterations to check and abort if $wp_query is null - somehow gravity forms causes this = 3.52 Beta (24rd February 2022) = * Further updates to improve variation stock checking for attributes and taxonomies. There are two scenarios - where a tax or attribute is restricted by another attribute which has variations stock, and then when an attribute itself is configured for variations stock checks. = 3.51 Beta (22nd February 2022) = * Fixed multiple issues in archive main results and widgets surrounding variation stock checking = 3.50 Beta (18th February 2022) = * Fixed an issue with the Link Class to avoid processing URL values twice = 3.49 Beta (18th February 2022) = * Fixed variation counts for attributes * Fixed sorting of attributes * Fixed existing filters to respect default check stock option (i.e. don't show in stock filter when it's on by default) * Fixed Link Class to handle archive-enabled attributes properly - treats them as taxonomies, but now works - paves the way for multi-select taxonomies * Fixed tax/cat widget to not show if no categories/terms are present = 3.48 Beta (16th February 2022) = * Fix for 3.47 = 3.47 Beta (16th February 2022) = * Added code to avoid the variation stock filter in attributes from filtering itself - e.g. if you select a size, other available sizes should still be selectable = 3.46 Beta (11th February 2022) = * Made rebuild tables button in Advanced tab act immediately rather than waiting for cron * Added extra ability to Link class to detect search string from an ajax call, i.e. the URL does not contain the search string but $wp_query does = 3.45 Beta (11th February 2022) = * Fixed display for current hierarchy to use lables properly * Fixed current hierarchy so it properly updates to show children of current hierachy - was only working at top level * Fixed integration with super speedy search for attribute filters * Fixed warnings from missing indexes = 3.44 Alpha (1st February 2022) = * Fixed critical bug in variation stock checking - it thought an attribute was being used for stock control when in fact it wasn't. This caused all pages with that filter in the URL to return 0 products. Now there is a selection option under the stock check option on the settings page to choose which attributes are relevant for varations stock levels. = 3.43 Alpha (27th January 2022) = * Fixed some multisite table building compatibility issues * Improved resilience of table building in general and speed = 3.42 Beta (26th January 2022) = * Improved ajax handling especially for populating the sidebar on a static page with contents of the sidebar from the ajaxed page - e.g. if you use the fww_sidebar shortcode in an elementor page, ajax all works properly now * Changed fww_sidebar widget wrappers to div instead of li * Removed a bunch of debug code * Altered the termlist in the Settings > FWW page to only grab the first 25 matching terms and add ... afterwards if there are 25 - this is to speed up the settings page, users don't need to know every term name - they're just for context. = 3.41 Beta (19th January 2022) = * Added &post_type=product&wc_query=product_query to query params from URL rewrite - this fixes issues with some plugins/themes not picking up on the correct template, e.g. WC Lovers ignored the shop template and used something else = 3.40 Beta (19th January 2022) = * Added tabs to settings page to tidy up and simplify settings management * Added template control per taxonomy - you can now choose whether our shop template hierarchy should be used, or if we should just inherit the template set by other plugins/theme on your site - e.g. you may have a BRAND template for brands, this lets you override or retain that template on a per-taxonomy basis * Copied background SQL scheduler from Super Speedy Search to ensure table rebuilds are resilient * Fixed bug in checking options which should mean that when saving FWW options, you no longer need to flush permalinks in order to see the new URL structure working = 3.39 Alpha (18th January 2022) = * Hardened URL overwriter so that if a second taxonomy has the same base URL (commonly store=brand and brand=brand) then only the first URL rule will apply - this follows the order of taxonomy importance from the settings page - it fixes broken templates on some stores where they have duplicate taxonomy base URLs declared (e.g. /brand/ declared by two different taxonomies) = 3.38 Alpha (15th January 2022) = * Fixed template detection for top level custom taxonomies = 3.37 Beta (4th January 2022) = * Fixed warning emitted on search results pages and home page from linkchecker * Fixed bug causing multiple jobs to be spawned to rebuild fww_object_ancestors table = 3.36 Beta (15th December 2021) = * Hardened plugin update checker so it doesn't crash in php 8 if WPI site not available = 3.35 Beta (15th December 2021) = * Improved top-level speed of stock checking * Fixed variation stock checking bug that could occur in some cases with multiple attributes * Tested stock check works for simple products which have attributes (e.g. attribute Large) so that if user visits /shop/large/ then both simple and variable products are returned that are in stock - with simple products it checks stock at top product level and that Large attribute exists, with variable products it checks variation stock for Large exists * Fixed bug in URL Link caching which was not caching instock/onsale properly * Fixed bug in selecting correct default stock check value in stock check widget = 3.34 Alpha (15th December 2021) = * Loading settings page will now fully populate the available taxonomies regardless of which taxonomy filters are enabled. This allows admins to have taxonomy URLs without requiring filters. e.g. /brand/adidas/ will work even if there is no brand filter present on the page. Affected users will need to visit settings and hit save. * Fixed error in Appearance > Widgets when previewing taxonomy filters * Many fixes for stock control - stock check filter doesn't add ?stock-status=show-all if default is to show all - product variation stock control is checked - this affects which products appear in the archive, which tax terms get listed in the sidebar and which attributes appear in the sidebar - alpha because bugs exist when multiple attributes URLs are visited and it doesn't correctly check stock for multiple attributes yet = 3.33 Beta (14th December 2021) = * Made archive variation stock check generic - works for all attributes now, not just color and size, and also now works if you have a mix of simple products and variations - still to make this variation stock check work in inline filters display - still to make this variation stock check affect the sidebar filters = 3.32 Beta (10th December 2021) = * Added new sidebar identifier for ajax for Crazystore theme - should cover most themes now * Fixed bug with object_ancestors rebuild job to avoid rescheduling multiple jobs - will only ever schedule one job now * Increased delay in building object ancestors to 10 minutes instead of 5 minutes when running imports = 3.31 Beta (9th December 2021) = * Fixed bug in job scheduler which could prevent the assistant table rebuild from ever happening * Changed defaults for attributes to URL Param instead of Slug to have better onboarding experience * Added new sidebar identifier for Woodmart theme = 3.30 Beta (15th November 2021) = * Improved CSS resilience in the face of aggressive themes (Flatsome) * Fixed occurrence of empty filter appearing sometimes * Added check to ensure only checking main archive queries * Added variation stock check - this is complicated - WooCommerce doesn't store info anywhere about which attributes are used as variations, instead they store the slug combos of the variations in the product name. This now checks properly, e.g. if you select size 0-6 months, if 0-6 months of a product is out of stock it will not show in the archive. * Fixed warning on initial install in Link class * Made more resilient against random (non-filtering) URL parameters which sometimes resulted in empty archive = 3.29 Beta (3rd November 2021) = * Had been assuming term_id and term_taxonomy_id are the same - they normally are! But I found a client where this was not true for historical reasons, so now the objectancestors table gets built including a join to term_taxonomy to find the term_id - this slows down the rebuild of fww_object_ancestors a little = 3.28 Beta (2nd November 2021) = * Minor performance improvement to avoid unneccessary work in taxonomy filter when taxonomy is not hierarchical * Minor scalability improvement to reduce RAM consumed by taxonomy filter by passing the $cats by reference * Minor performance improvement to reduce size of $cats array as the filter is drawn - helps improve hierarchical cats slightly = 3.27 Beta (1st November 2021) = * Improved object cache usage - complete object cache for widgets + object cache usage for get_term related functions with cache key on $termid, $taxonomy, $languagecode = 3.26 Beta (28th October 2021) = * Fixed permalink rewrite update after saving settings * Fixed bug with /page/2 on UTF8 URLs (e.g. Greek) - the paginated links were being capitalised and this was causing the link class to not match the category - fixed to be case insensitive * Fixed URL slug output on settings page for UTF8 (non latin characters) = 3.25 Beta (26th October 2021) = * Hotfix for one code path in the attributes widget which was causing a DB error and failing = 3.24 Beta (26th October 2021) = * Hotfix to fix {$wpdb->prefix} for non-default table prefixes = 3.23 Beta (26th October 2021) = * Improved performance of attributes to make them use the objectancestors table - specifically, when attributes are restricting themselves by other taxonomies (category, brand etc) then they are now far faster * Improved performance of main query - normally the domain of Scalability Pro and this may move over to scalability pro - an 'include children' query on a taxonomy will perform an IN statement. I modified it to use objectancestors so it can use an = statement. * Fixed bug with deep categories not having top category marked as 'selected' in the HTML - this means deep categories now appear opened when using hierarchy and the top level category will have whatever styles applied (e.g. checkmark, bold etc) * Improved Link Class constructor to use proper get_term_by function and avoid superflous SQL calls * Refactored custom tax SQL to use single query rather than nested queries. Significantly boosts speeds in many cases. * Significantly improved performance of custom taxonomy/category widget - now uses a single SQL call to grab the full hierarchy. Reduces 'harry potter' search widget construction from 3s on foundthru to 0.3s. * Fixed term ordering so it properly and efficiently respects the term ordering - also removed the term ordering option from settings since it's now fast regardless * Fixed bug where if onsale was selected, the category in widgets was not being selected and expanded * Hardened parent term restrictions - now uses new walker function and restricts from there rather than in SQL. Nice and efficient. * Removed a bunch of error logging * Added on-the-fly update of the onsale meta flag - no need to recalculate this manually now * Added recalculation of object_ancestors table after terms edited/added/deleted and posts edited = 3.22 Beta (14th October 2021) = * Improved performance of link class * Improved resilience of link class when you have identical slugs in different taxonomies - if you DO, you should keep the taxonomy prefix on the URL (e.g. keep /product-category/dogs/ rather than just /dogs/) * Added compatibility for latest dev-version of Super Speedy Search updates (dev update for SSS not yet in beta, but this is back and forward compatible) * Made WCLovers filter_vendor parameter sticky - once set, the filters will always use it unless it's cleared by the WCMultivendor (WCLovers) Store filter = 3.21 Beta (28th September 2021) = * Hotfix to fix wp_fww_object_ancestors - for restricting other terms, I'd used wp_ when I should have used $wpdb->prefix - affects anyone with altered table prefixes = 3.20 Beta (28th September 2021) = * Removed scroll bar from category children to avoid there being multiple scrollbars in a nested taxonomy with many children * Fixed ajax back button - correctly reloads the previous page properly now. = 3.19 Beta (22nd September 2021) = * Fixed minor JS bug for tax accordions - added stopPropagation * Moved doc.ready JS into its own function and added a call to this function on ajax complete (fww-specific ajax complete) * Fixed recently viewed products so it correctly removes items when more than 3 have been viewed * Removed 'number of recently viewed products' config - it shouldn't have been in the widget since we need access to it on product detail pages and the widget might not be there * Hard coded the number of recently viewed products to 3 for now - cookies can not store more than 4 products, potentially less depending on additional HTML in the woo template. * Added new styles for buttons and popovers with updated fonts for icons from @twardy * Added new fwwicon-arrow_drop_down for popouts * Fixed search box inside popouts so they don't immediately close the popout! * Added code to prevent popout closing if user clicks reset search button = 3.18 Beta (16th September 2021) = * Hotfix to re-add scroll-to and move-selected options for taxonomy * Hotfix to re-add multivendor/author code = 3.17 Beta (16th September 2021) = * Added pure CSS spinner to ajax for when products are fetched * Improved the popover by using a11ydialog * Added shadow, fadein and animation-down for popouts - looks better * Added popover group - will use the first button of the group and hide all others and place the contents inside the popover * Added popout groups - similar to popovers, uses the first button and hides the others. Does not yet include an icon picker - the icon is used to distinguish different groups - also the icon doesn't yet get added to the button * Fixed a bunch of warning and notices that were happening for undeclared variables = 3.16 Beta (15th September 2021) = * Added popout container option to all widgets, version 1.0 - lets you have popouts containing labels, lists, colours etc - saves space on screen and looks good on mobile * Added popover container option - version 0.1 - not working yet, trying to use googles material design library but I only have a Cancel button so far on the popover and no actual content = 3.15 Beta (14th September 2021) = * Added post_author column to ancestors table - requires db upgrade which may be slow on large sites - took 2 minutes on foundthru with 1 million products. New users would not experience this. * Added post_author to rebuild job * Added filter_vendor detection to taxonomy and attributes filters to restrict the lists based on author/vendor = 3.14 Beta (14th September 2021) = * Added post wp all import action to run product recounts for ancestors table * Added check against regular ancestors update (after terms edited) to check woocommerce_product_recount_terms filter - users can still force recounts using ajax recount from settings * Added checks for creating ancestor tables to eliminate warnings * Added checks against woocommerce_product_recount_terms filter to avoid recounting ancestors when not desired * Added pmxi_after_xml_import action to recount terms after wp all import complete = 3.13 Beta (14th September 2021) = * Added scrollto option to taxonomies and category widgets * Improved move option to top for taxonomies - expands children and moves items up in children too = 3.12 Beta (13th September 2021) = * Improved description and behaviour of parent Term Restriction for tax widget - you can now move child terms to the top level using this functionality if you wish, or you can just list top level terms to appear. * Fixed bug with level 2+ categories in pure permalink mode (no /product-category/ in URL) - was incorrectly using parent category rather than child. * Removed controls to restrict child terms of tax widget and attribute widget. Admins should modify their actual shop data instead since attempting to do this here means also the WP_Query needs to be modified, and then it becomes very slow to implement for products which don't use this attribute. e.g. if you restrict your colour filter to only show Black and Blue, then perfoming a query that restricts products to black and blue only when that product has a colour is very complicated and slow. You have to check NOT EXISTS and you have to do an OR. Both these queries are the slowest type of queries in MySQL and cause table scans. = 3.11 Beta (9th September 2021) = * Added extra checks to guarantee that rebuild ancestors table will not perform multiple simultaneous rebuilds - found some cases where if rebuild was triggered, it was starting rebuild even if rebuild was already underway = 3.10 Beta (8th September 2021) = * Removed remaining ajax loader gif (now using pure CSS spinners) * Added additional is_shop check for template override - fixes cases of some post categories being overridden when they had slugs matching shop filters * Added widget option to disable 'move selected items to top' if admins don't like that * Added widget option to disable showing the 'selected options count' next to the title if admins don't like that * Added selected options count to in-stock, on-sale, price and existing filters widgets = 3.09 Beta (6th September 2021) = * Removed shop from breadcrumbs when shop = home * Added search string to breadcrumbs * Added extra checks on breadcrumbs to avoid overriding breadcrumbs when something else is handling it * Added price step option to price filter and changed front-end price boxes to number instead of text - makes entering prices on mobile easier, and provides extra buttons to increase or decrease the price * Added clear button to tax/attribute search * Replaced recently viewed products spinner gif with pure CSS spinner * Replaced 'remove recently viewed product' icon with our own font icon * Added search icon to tax/attribute search * Added "No results found for: " (searchstring) text output to tax/attribute search (alterable with localisation plugins) = 3.08 Beta (4th September 2021) = * Refactored breadcrumb control to fix OnSale to appear in breadcrumbs, Shop, and parent cats to appear too - https://trello.com/c/AyiL20ZZ/193-fww-cat-breadcrumb-does-not-have-filter-black-removed * Fix for new recently viewed products js to change null to empty string when no products viewed yet = 3.07 Beta (4th September 2021) = * Replaced SESSION storage for Recently Viewed Products widget with COOKIE storage - faster, more compatible (some servers start sessions too early) = 3.06 Beta (4th September 2021) = * Added is_archive() check for template redirect to fix cases when FWW thinks an attribute exists in the URL but it's actually a product name * Added extra JS path to price filter when Apply is clicked and user has deleted minprice and maxprice so that minprice and maxprice are correctly removed from the URL * Added extra ajax option in settings > fww - 'Ajax on desktop and on mobile' - while some themes break if you add ajax on mobile (burger handlers) some do not, and those people like ajax on mobile so now you can enable it = 3.05 Beta (3rd September 2021) = * Fixed warnings for empty prices in price filter * Improved wp-admin Appearance > Widgets code for Price & colour filters so you do not need to first save the widget before editing price ranges or colours = 3.04 Beta (28th August 2021) = * Added new price box styling for price filter - thanks @twardy! * Moved selected filters to top of widget using CSS - lists, labels, colours etc * Added selected filters count after widget titles = 3.03 Beta (27th August 2021) = * Improved styling of expanding/collapsing categories in new accordion mode * Added disabled filter tooltip configuration box * Improved styling of disabled filters - faded out rather than grey overlay * Added Clear Search Text config to Existing Filters widget - so you can replace Search: with whatever text you like without having to use locotranslate = 3.02 Beta (26th August 2021) = * Removed redundant 2nd translation on Clear Filters in Existing Filters widget * Added new 'disabled' option for filter dependency - disable this filter until product_cat/pa_color (or whatever you like) selected * Added new 'Full Hierarchy - Accordion' taxonomy display option - this lets admins show condensed taxonomy list expandable by users = 3.01 Beta (25th August 2021) = * Added extra pagination canonical to include No Canonical which means no canonical will be output on page 2+ = 3.00 Beta (25th August 2021) = * Added extra onsale indexing control to allow users to choose to index no onsale pages, only /onsale/ or to follow the other indexing rules to allow /onsale/dog-toys/black to be indexed etc * Added max pagination indexing option (default 1) to allow admins to control their crawl budget and prevent bots indexing page 500+ etc * Added pagination indexing option to allow admins to control if indexed paginated pages should be nofollow,noindex or follow,noindex or follow,index * Added pagination canonical option to allow admins to control if the canonical should point at the current paginated page or point to page 1 * Altered canonical injection to always inject canonical even if noindex meta tag exists. * Added additional On Sale products Googlebot indexing control - Options now include: top /onsale/ page only, follow the other rules, categories only, or noindex = 2.99 Beta (24th August 2021) = * Fixed broken SEO page titles * Replaced Font Awesome 5 with custom font from @twardy wpi-sss-icons - far smaller and faster * Fixed search restrictions on tax and attribute widgets - was broken if user had Super Speedy Search installed, but had not created a fulltext index * Updated breadcrumbs override to include hierarchy of taxonomies * Fixed taxonomies so depth 2+ will be shown even if that category not currently selected * Added nofollow to Woo pagination links * Improved cron scheduling for ancestors table so it won't reschedule update if already scheduled = 2.98 Beta (20th August 2021) = * Added localization around 'Clear Filters' (whatever user has entered actually in widget) in faster-woo-widgets text domain = 2.97 Beta (19th August 2021) = * Removed warnings when no filter slug maps are used (e.g. change ?pa_color= to ?color=) * Fixed warning for new WP filter preview for attributes * Fixed 'Existing Filters' widget so it doesn't display if category selected and user chose not to display category as removable filter in this widget = 2.96 Beta (17th August 2021) = * Finished refactoring of catid * Improved performance of initial generation of taxonomies when restricted by other taxonomies * Fixed template issue when multiple taxonomies were selected (sidebar is back on those pages for affected themes!) * Fixed widget narrowing when searching on pages with more than one taxonomy selected = 2.95 ALPHA (17th August 2021) = * Refactored use of 'catid' to 'product_cat' throughout all the code - DO NOT INSTALL THIS ON PRODUCTION as there may be undiscovered bugs = 2.94 Beta (15th August 2021) = * Fixed issue with taxonomy filters not being restricted properly by product categories when users use /product-category/ in the category URLs = 2.93 Beta (13th August 2021) = * URL rewrite fix for when /product-category/ is retained - fixes issue some had not being able to drill down past category pages (pages with sub cats but not products) = 2.92 Beta (13th August 2021) = * Hotfix for new SQL category code to use whatever wp_ table prefix users have = 2.91 Beta (13th August 2021) = * Added taxonomy dependency option to taxonomy/category widgets - only show this widget if another widget has a values * Added new fww_object_ancestors ancestors table which speeds up initial calculation of category/taxonomy widgets before the object cache is used. On FoundThru, 7s widget generation for /shop/ drops to 3.5s. Note: with object cache, further page loads have < 0.1s page generation time from the widgets leaving only the main WP Query call (see Scalability Pro to speed that up!) * Added parent term restriction option - only show child categories of a specific term * Added child term restriction option - only show specific child categories (must be direct children of the parent term restriction) * Increased category max depth to 10 levels, and it's faster than before because of new ancestors table = 2.90 Beta (10th August 2021) = * Fixed attributes widget when 'expand results' option was enabled on another attribute so that it properly counts based on 'expand' not 'narrow' = 2.89 Beta (4th August 2021) = * Fixed 'Clear Filters' text in Existing Filters widget so it correctly uses the default text if you don't specify anything, along with WPML translation = 2.88 Beta (4th August 2021) = * Re-added URL rewrite for taxonomies - I thought I could rely on the taxonomy creation to handle these URLs but not true * Fixed de-duplication of term values in URL, e.g. /audi/ was being interpreted as both vehicle make and part-maker and no results were coming back. * Speed boost in URL parameter extraction - no unneccessary checks now, reduced SQL count before items go in object cache * Changed defaults for attribute ordering section to default to not-canonical, url parameter and no-index * Uncommented the action on template_redirect to call fww_maybe_redirect_product_categories - this redirects from /product-category/dogs/ to /dogs/ when you remove the base URL. * Fixed 'empty cache' button on settings page - it was only deleting variants, not wiping the relevant part of the object cache = 2.87 Beta (30th July 2021) = * Improved URL rewrites further * Added additional on/off switches to top of FWW settings * Fixed breadcrumbs de-dup for taxonomies and attributes = 2.86 Beta (30th July 2021) = * Improved performance of URL rewrites to handle 10,000+ terms at the top level - speed boosts across other sites too = 2.85 Beta (30th July 2021) = * Added activation hook to disable features in options in case user has deactivated plugin due to issues and is reactivating to debug. Added Admin notice to inform about this. = 2.84 Beta (30th July 2021) = * Added switches to switch on/off various aspects of the plugin - primarily to help with debugging, but also potentially some customers may not need pretty permalinks so will get slight speed boost * Removed warning from On Sale widget * Fixed double encoding in taxonomy search placeholder * Removed warning from Link class when removing non-existent attributes * Uncommented out the breadcrumbs code - re-added breadcrumbs for attributes etc = 2.83 Beta (28th July 2021) = * Fixed permalink generation issue that caused double values to appear in links e.g. /color/black/black/ - this was happening if the product attributes were defined as both taxonomies and attributes. Now it behaves correctly. = 2.82 Beta (27th July 2021) = * Added __ WP Internationalisation code to all widgets - if you alter the widget texts, these items will be added to the text register - e.g. if you change Search placeholder to "Search Here" then you would need to add a translation for "Search Here" for other languages you provide = 2.81 Beta (13th July 2021) = * Added mb_convert_encoding to existing filters plugin for the 'clear filters' text to allow polylang/wpml and specifically greek lettering = 2.80 Beta (8th July 2021) = * Improved URL Rewrites for custom taxonomies * Added custom code to handle Martfury badly coded product_brand = 2.79 Beta (7th July 2021) = * Core update for permalink rewrites - e.g. removing /product-category/ from url or /brand/ etc - works with all taxonomies = 2.78 Beta (7th July 2021) = * Added additional orderby rules to ensure woo doesn't miss them on custom pages like brands, tags, attribute base etc * Added code to apply filters to override ordering: woocommerce_get_catalog_ordering_args filters, woocommerce_default_catalog_orderby = 2.77 (7th July 2021) = * Core update for template_include - somehow this ended up commented out! This fixes brand archives and potentially other areas where the wrong view was being used. = 2.76 BETA (7th July 2021) = * Added filter for MartFury theme to make sure it grabs the correct baseURL for the way it constructs the ?orderby parameter * Fixed orderby price-desc and other orderbys - not sure why Woo wasn't respecting it, but now I force it to * Eliminated some unneeded queries from class-link = 2.75 (25th June 2021) = * Core update since I'd accidentally performed a core update at 2.38 and this performance issue is in there * Fixed major performance issue - I'd been trying to avoid checking every query for AND 0 = 1 in the query filter, but these IF statements were themselves causing the filter to be recalled since they too were performing database queries. Different servers have different max callstack depths which is why we'd never seen it. Have changed our test server to have unlimited callstack depth so we will catch this in future if it ever happens again. = 2.74 Beta (22nd June 2021) = * Reverted the removal of JSON.parse since it stopped the attributes saving = 2.73 Beta (22nd June 2021) = * Added missing element to settings page * Cleaned up settings code = 2.72 Beta (22nd June 2021) = * Fixed JavaScript errors on fresh installation on settings page = 2.71 Beta (31st May 2021) = * Fixed errors when activating plugin but WooCommerce not yet activated = 2.70 Beta (31st May 2021) = * Fixed template bug causing product template to be used in cases where it shouldn't * Fixed shortcode bug - now it correctly returns HTML rather than outputting it * Fixed bug in price widget javascript - was causing a warning and this warning was breaking the 'save widget' function in Oxygen = 2.69 Beta (27th May 2021) = * Updated names of two FWW widget areas for consistency * Improved CSS styling of lists in the FWW Above WooCommerce Products widget area * Added missing HTML div container to Existing Filters widget so it can be styled identically to other widgets = 2.68 Beta (May 2021) = * Added new 'remove' X button to recently viewed products - allows users to discard products they are no longer interested in * Fixed @session_start to suppress the warnings = 2.67 Beta (May 2021) = * Removed code that was scrolling window to top when user clicked ajax link - this was confusing for users * Fixed disappearing sidebar issue - now it just uses .sidebar class to replace the sidebar - may need to add extra config in future for some random themes that don't use this class * Fixed bug causing blog archive titles to be overridden when fww should only override shop archive, shop tags, shop taxonomies etc * Fixed Recently Viewed Products widget - was not showing anything, session_start had not been called so it always thought the session was empty and no products had been viewed = 2.66 Beta (May 2021) = * Fixed template selection to grab archive-product.php when shop as home page and only attribute URL param selected (e.g. yourdomain.com/?color=blue) so it now uses the archive-product.php template properly and sets the correct CSS classes = 2.65 Beta (May 2021) = * Fixed initial config of taxonomies so URLs will work properly as soon as plugin installed (no need to add tax widget then hit save in settings anymore!) * Improved detection of when to rewrite rules - also added temporary debug to discover if rewrites are being flushed often * Fixed permalink detection when only an attribute is selected and that attribute uses a URL parameter rather than a pretty permalink - e.g. /filters/?color=blue - these now work as expected = 2.64 Beta (May 2021) = * Updated examples on settings page to be less confusing * Fixed price range bug - if min/max price range was already set, then a user clicked $500+ then the maxprice was remaining in the URL when it shouldn't have * Added active-price class to price ranges that are currently active in the price filter widget * Added rel="nofollow" to text links for price ranges * Changed CSS to use fwwfilter class to simplify the CSS * Updated Yoast override to work for rankmath etc, and if user hasn't selected it, no meta titles or descriptions will be overridden = 2.63 Beta (May 2021) = * Fixed ajax so it reloads the sidebar if user clicks something in top bar (new fww top bar, eg existing products or top level categories) * Added extra checks to ajax for h1 titles and pagination for extra theme compatibility (specifically BeTheme, but many themes will be improved) * Fixed ajax so it adds .pager_wrapper type pagination - not sure why themes would alter from default CSS classes, but here we are, we have to add crap like this for loads of shitty themes (BeTheme, looking at you) * Fixed ?minprice=0&maxprice=100 if no other filters exist (wasn't loading anything at all!), but performing this kind of query at the top level of a shop is very expensive :( = 2.62 Beta (May 2021) = * Added extra display options for Price Filter - radio and label options in addition to the text links option = 2.61 Beta (May 2021) = * Added extra display options for Existing Filters = 2.60 Beta (May 2021) = * Fixed new styles of onsale and instock widgets to be ajax compatible * Fixed custom taxonomy widget to be ajax compatible * Fixed 'Always show' to not set max-height of 200px, now provided your theme doesn't restrict height somehow you'll see the full list with always show whereas the hide ones will reappear with a scroll bar (also configurable with CSS) * Added new Accordion display style for collapsible widgets - they default to closed and when you open one, any other open accordions will close * Reverted default price style slider to default from nouislider * Added pips, top/bottom price and price tooltips to slider * Added auto-submit to price slider when no text boxes are visible * Added new widget area FWW Above WooCommerce Products - runs on the woocommerce_before_shop_loop action hook, useful for displaying top level categories (e.g as lebls) or things like existing filters = 2.59 Beta (May 2021) = * Fixed bug with expand/close button on attributes - was not opening/closing unless you clicked the title, now you can also click the little arrow * Fixed scroll bar for long attribute lists, reduced to 200px added scrollbar * Removed uppercase CSS styling for widget headers * Added memory for the collapsible filters, works with ajax too, remembers the users choice to overrule default hidden/closed * Added new CSS class config box to attribute, tax, cat filters - defaults to official woo classes, can be removed or changed to avoid theme styling = 2.58 Beta (May 2021) = * Added new colour styles to product attribute widget when choosing colour type * Added new styles (toggles, checkbox) for in stock widget * Added inline search box placeholder config = 2.57 Beta (May 2021) = * Added default closed functionality for collapsible filters = 2.56 Beta (May 2021) = * Added collapsible filters feature - currently doesn't remember your settings and everything is currently defaulted open = 2.55 Beta (May 2021) = * Added optional search box for category, custom tax, attributes - users can search to immediately find whatever they're looking for = 2.54 Beta (May 2021) = * Added new styles for On Sale widget provided by @twardy https://trello.com/c/FooPbLkM/134-bug-and-perf-roundupany-plugin-this-sprint-includes-small-bugs-and-perf-improvements-from-any-plugins-other-than-fww#comment-608aab70ce8a676f0462e318 = 2.53 Beta (April 2021) = * Fixed SEO title separator - it was saving, but it wasn't actually being used in the titles! This is the part that goes on your BROWSER PAGE title and will append your site name after the separator. * Fixed Meta description for top level categories - previously, if you had an empty category meta description then no meta description was being displayed. Now it will correctly failover to using the settings from FWW Settings page if no specific category meta description has been created. * Fixed bug with multiple taxonomies enabled which was causing attribute filters not to display when two different taxonomies (e.g. category & brand) were selected = 2.52 Beta (April 2021) = * Updated to integrate better with new perf features of latest Super Speedy Search plugin = 2.51 Beta (April 2021) = * Improved theme compatibility with Woo Titles - specifically, now these affected themes won't display the Woo shop title twice on the page * Improved SEO page title override, refactored the code to simplify execution paths, now titles are definitely consistent - noticed some cases if category wasn't set the titles weren't being overruled * Updated text guidance on settings pages = 2.50 Beta (April 2021) = * Removed warning about undefined index: includepriceboxes * Fixed pagination bug on product category pages if you hadn't removed /product-category/ from the permalink * Improved CSS for inline product attributes * Improved flush permalinks to always flush when FWW settings saved. Some cases were being missed causing confusion when URLs returned 404 error when they should have returned a shop page. * - some installs may still require manually flushing rewrites by visiting Settings->Permalinks then hitting save. * Added new filter for wp_robots (added in WP 5.7) so that indexing control works properly and meta tags for the robot react properly = 2.49 Beta (April 2021) = * Widget guide and option name altered for newly named 'Adaptive Filters' (previously called keep/remove existing filters) = 2.48 Beta (April 2021) = * CSS strengthening to ensure our label & product count styling isn't ruined by theme styling * Fixed category 'label' display type so they work properly with the 'full hierarchy' option and displays children as labels too, including the parent being coloured in when children are hovered over = 2.47 Beta (April 2021) = * Added 'text links' option to price filter, so ranges can be displayed as text links rather than just as dropdown * Added option to price filter to disable/enable the price range boxes * Changed default for 'show product counts' to 'hide' instead of 'show' since hide is faster and prettier * Fixed product counts bug causing counts to appear outside category/attribute labels and outside colour boxes (https://www.wpintense.com/idea/fww-product-numbers-overlay-on-label-display-type/) = 2.46 Beta (March 2021) = * Fixed bug in taxonomy class which was causing warning message to debug log * Fixed bug in attribute class which was causing warning mesage * Added breadcrumbs for all filters & taxonomies = 2.45 Beta (March 2021) = * Fixed temporarily broken brand taxonomy on rehub (and other taxonomies that don't register properly) - now if you remove /brand/ from the URL, it works properly and shows the products rather than your blog list * Added fallback code for when there are very many filters to use EXISTS - still use JOIN for first 5 attributes selected (uses 10 tables in the join). This bypasses the 61 join table limit and will still be fast since it still allows 5 restrictive inner joins to reduce the result set size before using EXISTS. = 2.44 Beta (March 2021) = * Added template checks for category terms, e.g. /dogs/ will search template-product_cat-dogs.php then template-product_cat.php then archive-product.php = 2.43 Beta (March 2021) = * Added template selection fix for Rehub theme which doesn't seem to configure custom taxonomies properly - so this fix will help with other themes - finds taxonomy template if no other filters selected, otherwise finds archive-product template * Fixed product-tag & 301 redirect checker to preclude the check for existing products performed by woocommerce - for example: https://foundthru.com/product-tag/test-tag/beige/ should redirect to https://foundthru.com/test-tag/beige/ when the option to remove the base is selected, but in fact it was going to /product/beige/ * Redirect fix may actually be a big speed boost too to avoid woocommerce checking for the existence of products matching the URL (still to measure this) = 2.42 Beta (March 2021) = * Fixed On Sale Title text - it was saving to the database, but it wasn't showing the change in settings * Removed product_shipping_class from options in settings page when choosing title order and inline filters * Fixed title displaying twice on taxonomy + filter pages * Added a title separator config box to allow users to configure the separator between title values = 2.41 Beta (March 2021) = * Improved CSS look for inline filters * Fixed bug causing top level taxonomy links in the sidebar not to generate properly * Removed SEO Titles warning on new installs = 2.40 Beta (March 2021) = * Fixed code in template_include to choose the correct template - any mixed taxonomies or taxonomies + attributes will use the woocommerce archive template (3 fallback options) * Fixed 'reset' filters option so that it works properly with custom taxonomies - it wasn't respecting the setting in the widget * Added product taxonomies to settings config - SEO titles config, Meta description config and inline attributes config * Fixed bug with product tags - was not using proper taxonomy name, this was causing filters to not know the taxonomy was set * Fixed 'chosen' taxonomy link - e.g. in /dogs/snug-dug-co/, in the category widget, dogs is chosen - when hovering over this, it was using widget-wide config to choose whether to reset other filters - if the taxonomy is only being removed, other filters do not now get reset * Fixed warning coming from awd_improve_performance function * Added inline attributes from taxonomies (including category) - so admins can show extra product info inline which is clickable through to filtered results = 2.39 Beta (March 2021) = * Added code to template_include to try and choose the correct template - I think the new variable not passing through - test on /dogs/black/ - it should use archive-product.php not taxonomy.php = 2.38 Beta (March 2021) = * Removed ?stock-status=in-stock from the canonical URLs * Fixed settings saving for onsale slug * Changed code that gets product taxonomies to do it better & faster * Removed tax slug config from widget area - it uses tax->rewrite['slug'] now instead (ie whatever is defined already in the taxonomy) * Altered rewrites so they pass through additional parameters when non-current-tax filters are used - aiming to get woo to use the archive-product.php instead of taxonomy-xxx.php for these pages * Fixed redirects & URL generation for taxonomies like 'product-tag' so you can remove the /product-tag/ base * Fixed new install code to generate ALL taxonomies into the taxorder for use in FWW settings so users can change the order and configure if the URL base slug should be used = 2.37 Beta (March 2021) = * Fixed warnings and notices that appeared on fresh install when no settings saved yet * Fixed code that adds category/custom taxonomy widget so that the taxonomies appear in FWW Settings * Added extra code to remove unused taxonomies from taxorder so they don't appear in FWW settings if they are unused = 2.36 Beta (March 2021) = * Fixed bug affecting product tags where the tag was not being saved to the cache properly, so first load would work, second load of product tags (links for them) would not * Added 'product_tag' as potential custom taxonomy * Removed 3 unused taxonomies from tax list * Fixed Link->resetFilters to respect multiple taxonomies and to not assume a category is set (fixes warning that was appearing) * Fixed onsale filters to respect custom taxonomies * Renamed 'donotreset' to 'Respect Filters' and 'Ignore Filters' - I think it's clearer * Fixed taxonomy links for currently selected term so that clicking the currently selected term again will remove that term = 2.35 Beta (March 2021) = * Fixed missing tax titles when /dogs/ was used instead of /product-category/dogs/ * Added URL rewrites for all custom taxonomies to use correct template and pass params to FWW main query * Fixed bug with pagination with non product categories - adjusted code to perform better check as to when it should run * Added term_link filter, so other functions (e.g. SEO) generating term_links will use /dogs/ or /snugdug/ instead of /product-category/dogs/ or /brand/snugdug/ * Added 301 redirects to send traffic to /dogs/ instead of /product-category/dogs/ (for all taxonomies) if the option is selected in FWW settings = 2.34 Beta (March 2021) = * Added Custom Taxonomy widget - select taxonomy - added product counts to custom tax Widget - product counts properly affected by other filters, category and other taxonomies (if donotreset is applied) - Link class correctly deciphers custom taxonomy slugs in any order - Link class correctly creates custom taxonomy URLs e.g. /dogs/brand/snugdug/ - Altered main query to take into account any selected taxonomies - Link class can now remove /brand/ easily from URL - Added taxonomy ordering-config to settings page - lets users choose the preferred order of tax slugs and which will be canonical - Altered the attribute widget to take into account all taxonomies - Added custom taxonomies to existing filters widget * Refactored FWW Category Widget to extend the custom tax widget and re-use the code = 2.33 Beta (February 2021)= * Fixed bug where URLs were incorrectly generated if users had trailing slashes switched off: https://www.wpintense.com/idea/fww-permalink-missing/ * Fixed bug with pretty permalinks for removing /product-category/ (or whatever is set) - only thing to bear in mind is to not create pages with the same slug as any of your top level categories * Fixed bug with 'reset' option for category filters - it was working with URL slugs, but not with URL paramters - it now works with both * Fixed bug with Existing Filters widget - if you were using URL parameters for attributes then clearing the last filter could go to a 404 = 2.32 Beta (22nd October 2020)= * Fixed bug with integration with Super Speedy Search (and other search) where top level categories (and full counts) were all being returned in sidebar - now it properly restricts the list of categories based on the search string * Fixed bug with wp_query search being overridden by WooCommerce - now you can properly browse around retaining the search string and the search results will filter to your selections (categories, attributes, price etc) = 2.31 Beta (14th October 2020)= * Added new WPI Settings page where users can enter their license key to enable plugin updates * Fixed issue with WooCommerce product tag archives causing products to not display * Cleaned up more code, removed use of get_queried_object() * Fixed bug with WooCommerce not correctly identifying the shop page - this was causing attribute URLs to all be set to the base /shop/ = 2.30 Beta = * Fixed activation warnings when plugin was checking options that didn't exist yet * Added warning for new users to get them to visit settings page and configure permalinks before using the filters * Improved colour widget styling * Fixed remove /product-category/ option which wasn't working unless admin had also configured FWW to use pretty permalinks * Added 2 extra classes to active attributes so that theme 'checkboxes' or active attribute styling will work * Removed other PHP warnings caused by missing or defaulted/off options * Fixed on-sale permalink bug which was preventing on-sale permalink working if admin wasn't using pretty permalinks in the main non-sale filters * Fixed bug preventing onsale URL param from being added * Added option to allow configuration of URL param for onsale products, so users can change the URL param to on-sale or whatever they wish. It overloads the onsale permalink field. * Added product_cat taxonomy singular label, pa_attribute labels, on sale text, and moved clear filters into HTML list for consistent display in Existing Filters widget * Removed
tags from Show In Stock widget * Added In Stock label and link to Existing Filters widget * Added On Sale indexing option to settings page - allows admin to configure whether Google should be allowed or disallowed to index archive On Sale pages * Added On Sale text config to allow admins to add a prefix to the browser and woocommerce titles for On Sale archive pages = 2.29 Beta (29th April 2020) = * Fixed bug caused by empty filters with stock-check * Added On-sale page - configurable in settings page, paginated, all filters can be used * Added Show Products On Sale widget = 2.28 Beta (16th April 2020) = * Improved control over Yoast robots and canonical * Removed ambiguity from canonical and noindex - now if noindex, canonical is never set * Added full control over the /on-sale/ page with pretty permalinks - paginated products on sale, all filterable using whatever filters are configured, defaulting on-sale to noindex * Added 'On sale' to Existing Widgets filter * Integrated FWW with new beta version of Super Speedy Search * Updated category description output to process shortcodes and other 'the_content' filters * Updated color widget so widget can be saved when user only changed colours (previously they would have to fake changing another field) * Added pagination text to pages and config for the text e.g. Showing products 1 - 20 (Page 2 of 90) - Dog Toys | Foundthru * Added option for Yoast users to only overrule category title and description on non-top-level categories (i.e. when any attributes are selected FWW will still override in all cases) * Moved config of on-sale page into Settings->FWW * Improved canonical URLs significantly to reduce crawl time spent by googlebot * Added full control over canonical, noindex(+nofollow) for all attributes in permalinks or URL parameters * Improved canonical parameters so the canonical is always in the correct order - a third party could still link to /dogs/?color=black&material=leather but if you have it configured in a different order the canonical will point to /dogs/?material=leather&color=black (for parameters and permalinks) * Improved speed of permalink calculation even further and improved use of the object cache * Added option to configure whether search results should be indexable and have canonical meta tags = 2.27 Beta (26th March 2020) = * Removed canonical configuration from widget screen - now configured through settings page * Added noindex configuration per attribute and canonical config per attribute and fixed the ordering to eliminate duplicate pages * Added redirects for all categories and sub-categories if user removes /product-category/ from permalink * Update query so breadcrumbs are correct * Added filter to get_term_link so XML sitemaps will work and no change was required to link class * Added options to settings page including list of categories that will be created and note listing top level categories to avoid in page slugs and warning if any conflicts already exist = 2.26 Beta (16th December 2019) = * Improved instructions on Appearance->Widgets page * Improved CSS to be compatible with many more themes out the box (especially label-type and price filters) * Added Appearance->Widgets->FWW widget area and a new shortcode for users of Elementor and other themes that require a shortcode for sidebar. Shortcode is [fww_sidebar] * Added attribute labels into attribute widget in Appearance->Widgets page, including sorting on labels (previously just slugs) * Added ability to use attribute slugs as URL parameter values instead of attribute IDs as values (e.g. blue instead of 1) * Added ability to change the URL parameter name (e.g. colour instead of pa_color) * Changed default of x in corner of label boxes to be coloured box instead - improves theme compatibility and default look * Renamed FWW Fast Layered Category Widget to FWW Product Categories * Renamed FWW Fast Attribute Widget to FWW Product Attributes = 2.25 (26th September 2019) = * Icon bug fix * Javascript bug fix causing issues with infinite scroll in some cases = 2.24 (8th August 2019) = * Fixed warnings that happen if you don't visit settings page and hit save = 2.23 (27th July 2019) = * Fixed warning that was happening MANY times if users had 'nocount' set for their categories or attributes due to new code trying to restrict with rel=nofollow etc = 2.22 (27th July 2019) = * Fixed another warning for empty term names * Added filters for rel=next and rel=previous so correct paginated numbers appear for product-category and /filter/ paged pages * Added new feature to add rel=nofollow and noindex tags to pages with fewer than X products, with new configuration option to control this number added to admin pages = 2.21 (24th July 2019) = * Fixed warning coming from class-fww-link related to multiselect options = 2.20 (18th July 2019) = * Added new Inline Product Attributes filter (sponsored) - https://www.wpintense.com/knowledgebase/inline-product-attribute-filters/ = 2.19 (16th July 2019) = * CSS fix for active labels - was previously set to display:none * Added note to admin page linking to KB for double-displayed titles for some themes * Improved location of archive description to actually use archive_description hook rather than just before_loop - allows themes to choose before or after loop etc = 2.18 (24th June 2019) = * Fixed version number so it shows plugin as updated * Fixed bug with nested categories only using bottom of nest, now it shows /dogs/dog-toys/ instead of just /dog-toys/ * Removed category description text when any filters other than category are applied * Fixed double category description text when using non-pretty-permalinks and category + attribute were selected * Fixed search results pages with filters - they are once again filterable * Fixed bug causing inaccurate title to be displayed if user visited non-pretty-permalink with pretty-permalinks enabled. Now the attributes are correctly collected and titles correctly displayed, even if you visit an old style non-pretty-permalink URL * Added nofollow flag to the 'remove attributes' link * Added new feature with current search string being a removable filter link * Improved Ajax spinner performance appearance - the spinner was being removed slightly before the new products were inserted into the archive which didn't look right * Removed category description if search query present * Added search string to h1 title and browser title = 2.17 (22nd June 2019) = * Fixed duplicate base url when product category permalink other than /product-category/ was in use = 2.16 (8th May 2019) = * Fixed missing categories and widgets on search results page when using traditional LIKE '%searchquery%' operator = 2.15 (8th May 2019) = * Fixed compatibility with latest WooCommerce * Fixed bug causing attributes to disappear on search results page = 2.14 (30th April 2019) = * Fixed bug where removing 1 filter for specific taxonomy caused all attributes for that tax to be removed * Fixed permalink bug causing broken permalinks if all ordering not set * Fixed bug when WooCommerce not activated * Fixed 'clear filter' bug that caused duplicate links when user got sent back to /filter/cat rather than /product-category/cat * Fixed ajax bug causing filters not to update on non woocommerce archive pages * Fixed automatic update bug * Fixed bug with search queries that was causing search query not to be honoured or remembered when subsequently choosing attributes * Fixed duplicate base-url bug = 2.13 (28th March 2019) = * Removed debug messages from permalink code * Fixed warning message that can appear when a category is not set = 2.12 (23rd March 2019) = * Removed category description text when any filters other than category are applied * Fixed pagination bug (if not using inf scroll and you had attributes with values or 2, 3 etc) so that URL removes pagination when filters are added * Fixed 'clear filters' bug where it should not have been removing the product category from the filters if 'display cat as filter' was set to no = 2.11 (6th March 2019) = * Fixed CSS for some themes for the 'search' widget so that the search results will properly appear on top of any widgets below it = 2.10 (11th February 2019) = * Fixed object caching - had added cache-wipe functionality to wipe just FWW object cache when user changes options, but this was being wiped every page load = 2.09 (4th February 2019) = * Implemented object caching for the pretty permalinks - gives decent speed boost on sites with tons of attributes = 2.08 (16th January 2019) = * Hotfix rollback of taxonomy ordering as it was causing some taxonomies to go missing = 2.07 (15th January 2019) = * Fixed multi-select bug where multi-select was being allowed even if disabled in widget * Fixed ordering of taxonomies so that permalink ordering fully respected * Made ordering of tax values inside each tax to be alphabetical to eliminate duplicate URLs * Fixed recently introduced bug causing minprice and maxprice to not appear in existing filters widget * Added 'default meta description' option using placeholders for attributes and category * Added category description below SEO title * Added meta-description override if you specify the meta description on each category * Added integration with Yoast SEO for meta descriptions = 2.06 (13th January 2019) = * Removed ajax on small screen sizes (<850px) because far too many themes will break when in 'mobile mode' - caused by click handlers added to 'drop down filters' etc = 2.05 (19th December 2018) = * Fixed bug with some themes which were causing FWW to think every page was an onsale page = 2.04 (19th December 2018) = * Fixed ajax pagination bug for themes which have the sidebar before the products * Fixed broken back button with ajax = 2.03 (19th December 2018) = * Fixed Clear Filters so it reverts to shop url * Fixed some more discoverd PHP notices * Removed all error logging that was in place for debugging * Major upgrade for permalinks * Added full pretty permalink control to admin page * Added page title and h1 control * Added ability to limit canonical urls * Added better nofollow and noindex control * Fixed pagination bug when selecting some filters with ajax * Fixed bug with multi-select not expanding some filters * Fixed compatibility issue with super speedy search * Added yoast compatibility * Improved performance slightly * Fixed all PHP warnings and notices * Moved super speedy sale page functionality into faster woo widgets = 1.64 (11th May 2018) = * Fixed issue with multiple price filters on single page, now price filtering works even if that happens = 1.63 (1st May 2018) = * Removed PHP warnings on settings page = 1.62 (27th April 2018) = * Removed test for 'product_archive' as it seems some themes are not declaring this correctly causing the filters to fail to run. Replaced with test for is_shop() instead. = 1.61 (26th April 2018) = * Fixed bug on /shop/ which was pulling current category from last product on page, rather than accepting no current category * Added code to make it possible to use attribute filters and price filters from non-shop pages - it will now detect this and add the relevant base shop URL = 1.60 (11th April 2018) = * Fixed CSS issue to bold selected child category * Added code to get deepest category of current product so product categories can be displayed on single product page * Added new 'attribute search' display type for those with massive lists of attributes = 1.54 (15th March 2018) = * Further bug fix related to instock levels = 1.53 (15th March 2018) = * Added option to check stock levels - this affects counts displayed above results and counts in category list and attribute lists - needs to be enabled to work * Added ajax to 'remove filters' buttons in Existing Filters widget * Added %category% placeholder to FWW category widget - useful if you're using two widgets, one for top level categories and one for children of current category - it will replace %category% with the current category name (put %category in the widget title to get this) = 1.52 (6th March 2018) = * Fixed broken category links if using cloudflare SSL and user hadn't updated site address to HTTPS * Added data to triggered Javascript event for ajax events - allows users to customise ajax and make extra areas of site update upon ajax completion = 1.51 (7th January 2018) = * Moved brackets for counts to CSS so now its easy to alter their appearance = 1.50 (7th January 2018) = * Fixed broken filters caused by merge (was not filtering at all!) = 1.49 (7th January 2018) = * Tidied up readme a bit after merge = 1.48 (7th January 2018) = * Fixed empty result sets caused by Woo 3.1 = 1.47 (18th December 2017) = * Fixed Javascript bug for price range dropdowns = 1.46 (15th December 2017) = * Altered code to handle any taxonomy, e.g. brands = 1.45 (15th December 2017) = * Fixed a bug preventing some 'active filters' appearing * Added canonical URLs * Added option to attribute filters to allow/disallow filters to be indexed * Added nofollow to price filters = 1.44 (5th December 2017) = * Added triggers to ajax completion - recently viewed products and ajax update of archive = 1.44 (4th December 2017) = * Fixed empty result sets occurring in latest WooCommerce when certain types of attributes were filtered = 1.43 = * HTML encode customised labels * Added 'clear text' label option to 'show existing filters' widget * Added missing closing tags for cats and attributes when using product counts in some cases * Added new CSS classes added in Woo 3 for 'selected' categories * Fixed bug for hierarchical view of categories, when 4 levels deep, was not adding 'selected' class to top level category properly * Fixed spacing bug and minor perf optimisation in categories related to category children * Fixed bug with manually emptying the FWW cache * Fixed bug with having two colour widgets in Appearance->widgets - now you can have as many as you like * Fixed bug with ajax on pages with no woocommerce archive. Now widget sends user correctly to fresh archive page. = 1.42 = * Removed warning created by missing dropdown text values = 1.41 = * Fixed bug with manual sorting if categories and attributes selected together = 1.40 = * Re-added admin option for 'manual sorting' (code to process was already there but admin option wasn't) = 1.39 = * Fixed bug for editing existing colours in appearance->widgets = 1.38 = * Added custom label options for pieces of English text, so translations can be entered or customised