Skip to content

Core Changelog for Super Speedy Filters

Showing core changelog - click here to view beta changelog instead

Contributors: dhilditch
Donate link:
Tags: speed, performance
Requires at least: 4.7
Tested up to: 6.0
Stable tag: 5.58
Requires PHP: 7.0 License: GPLv2 or later
License URI:

The best filtering plugin being built for WooCommerce and WordPress.


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, MariaDB and Percona DB compatible too.


5.62 (25th May 2024)

  • Fixed rare URL handler bug for users using 'remove tax qualifier' who also have categories in their blog URL who also have blog terms with the same slugs as product categories
    • added check to link class for users like this to confirm that leading slug is in one of the terms
    • added actions to create/delete/edit whichever taxonomies have their qualifiers removed to update the cache of top level terms
    • if you have 1000s of top-level terms you should probably avoid removing the taxonomy qualifier e.g. /product-category/dogs/ to become /dogs/ - if you have 10000s of top level terms then keep the qualifer

5.61 (23rd May 2024)

  • Moved definitions of constant to settings page based on
  • Added modal dialog box to hide advanced definitions and warn users about changing the settings

5.60 (21st May 2024)

  • Fixed another ajax bug where if you had set a filter to 'admin only' (rather than publicly visible) then once this filter is loaded by Ajax to follow the SEO rules they were appearing empty for admins

5.59 (21st May 2024)

  • Fixed ajax bug with older FWW widgets for those still using them

5.58 (10th May 2024)

  • Fixed ajax filters which if not set for indexing were being hidden on page 2+
  • Removed ?expand_tax_name unless there are 2 of these taxonomies in the URL

5.57 (2nd May 2024)

  • Fix for search filtering with new ajax filters

5.56 (2nd May 2024)

  • Improved widget cache to ignore irrelevant URL parameters
    • these are frequently passed by SEO bots, page speed testers, code profilers
    • they do not affect the cache, only meta or taxonomy related url slugs/params affect the cache
  • Optimised jQuery to use less CPU in the browser - especially helpful for those with 10000s of terms!

5.55 (30th April 2024)

  • Updated the new ajax load-on-hover to additionally load on click for mobile devices!
    • so load on hover is probably the preferred method for perceived speed increase
    • alternatively the load on event works well if you have a click to reveal the sidebar then you can configure the filters to only load when that sidebar is revealed

5.54 (30th April 2024)

  • Moved new json object so that it doesn't have a nested name, e.g. if you configure it to be called ssf_object_data then it will then have properties of term_id, thumbnail, name

5.53 (30th April 2024)

  • Added new ajax options for popout,popover, popoutgroup and popovergroup container buttons
    • you can now choose to load the contents of these widgets on hover, click or any other JS event you like
    • this is leading us towards having full ajax support
    • in the meantime, this is also great for forcing certain items to not load on initial page load which can help improve google pagespeed scores
  • Added new shortcode ssf_taxonomy_info [ssf_taxonomy_info taxonomy="product_cat" json_object_name="some_name_for_your_json_object"]
    • this will create a JSON object you can reference containing info about the current product_cat (or any other taxonomy)
    • info includes the name (translated if you are using any filters) and the term_id and the thumbnail url

5.52 (24th April 2024)

  • Optimised front-end JavaScript which detects which items are selected
  • Fixed bug in selecting filters which are configured to 'reset'
    • was not showing selected if something else was also selected for past few versions
  • Added some JS events for ssf_ajax_widget_ready and ssf_doc_ready
    • ssf_ajax_widget_ready passes data object containing .widget_id

5.51 (24th April 2024)

  • Optimised API calls to reduce size of GET URL parameters
    • helps with API result caching in nginx, if enabled
    • helps with modsecurity, 6g, 7g and cloudflare rules which may misinterpret the API call as malicious

5.50 (24th April 2024)

  • Further fix for SEO speed boost to make all filters use ajax if SEO bots do not need to see theme
  • Fixed bug with multiselect where it was narrowing other filters as if 'narrow' was in use rather than 'expand'

5.49 (23rd April 2024)

  • Hotfix for SEO speed boost where it could cause pages without filters to be cached

5.48 (23rd April 2024)

  • Bumped JS version number to ensure newest version used

5.47 (23rd April 2024)

  • Fixed bug with multiselect filters all being marked as active
  • Fixed bug with some URL param type attribute filters all being marked as active
  • Removed debug output from JS

5.46 (20th April 2024)

  • Fixed bug with 'remove /product-category/' code in new url handling
    • if you had your products set to a custom base like /shop/%product_cat/ then the product pages were not loading (the archive was loading instead)

5.45 (19th April 2024)

  • Improved initial table building job
    • previously SHOW FULL PROCESSLIST privilege was required, otherwise you'd have to do a manual table build
    • update to only require SHOW PROCESSLIST which all users have access to
    • means initial table build should succeed for everyone now automatically
  • Added info to advanced tab about the table building
    • shows current step, last completed date, etc

5.44 (18th April 2024)

  • Fixed bug with speed boost for table maintenance
    • this is related to @kostas (no bug number) issue
    • means category hierarchy is properly maintained

5.43 (18th April 2024)

  • Fixed bug with ajax widgets scrolling introduced in last deployment (was continually reloading page 1!)

5.42 (16th April 2024)

  • Performance boost for product updates which should help speed up imports a little bit
  • Fix for warning on multi-term pages when image for that term combo could not be found
  • Fixed some warnings in table build when checking existing process info

5.41 (12th April 2024)

  • added data-image-url to terms in list view

5.40 (12th April 2024)

  • @kostas fix for object_ancestors table maintenance
    • fixed issue with hierarchical categories that was causing @kostas Yith stock plugin to fail
  • Upgraded and hardened the intial table building code
    • this should work by default on most sites now, presuming they have a cron enabled
  • Improved speed of initial table build by speeding up the onsale calculations and visibility calcs
  • Onsale nightly job removed as no longer required

5.39 (4th April 2024)

  • Fix for The SEO Framework Plugin which had an incompatibility from our new URL handler
  • Added new price widget option to add extra orderby attribute to initial filtering ( )

5.38 (4th April 2024)

  • Added new code to detect bot traffic and then decide whether to display a widget or not
    • i.e. if the widget is going to be full of rel="nofollow" links we can save a LOT of server resource by avoiding generating these widgets
    • this applies to googlebot as well as the bad bots which just index everything regardless of rel="nofollow"
    • this should massively speed up bot indexing speed and ensure they do not disobey our SEO rules
    • since this is nav content, there is no SEO penalty for this, only benefits because of faster page speed, more optimised/focused cache and higher max indexable pages per day

5.37 (4th April 2024)

  • Vastly improved efficiency and use of the widget html cache
    • now avoids wasteful SQL completely
    • cache in wp-content/cache/scalability-pro folder by default if spro installed
    • otherwise caching is to the object cache
  • Fixed rankmath warning in archive

5.36 (3rd April 2024)

  • Re-added the widget html cache but in fewer cases
    • html cache will use the scalability pro transient cache, if you have scalability pro enabled
    • the spro transient cache will survive object cache flushes, new product additions and new product updates
    • the widget html cache will re-use a category widget across all categories, but then if another taxonomy is set, another cached widget is saved for that other term
    • the widget html cache will cache a maximum of 1 other taxonomy, e.g. if you are on /cat/dogs/brand/adidas/ the cat widget will cache against 'adidas', but if you are on /cat/dogs/brand/adidas/color/yellow then it will not cache since this would be against adidas and yellow
    • the widget html cache is disabled for multiselect, search queries and other superflous calls
    • the cache wipes overnight, but there is also a new button in SSF Advanced to wipe the cache which can be useful after updating a lot of products
  • Small modification to JS for showing chosen filters and selected counts

5.35 (2nd April 2024)

  • Removed widget html cache
    • after testing, it seems to be too heavy on the server and uses up too much space (65K per widget per url for huge taxonomies!)

5.34 (2nd April 2024)

  • Added bad bot protection to stop semrush, bingbot, amazon alexabot, petalbot and other bad actors from indexing every single link even if rel=nofollow is on the link
    • updated nofollow links to have href="javascript:void(0);" and a new class and a data attribute containing the actual link, on doc load, the href is updated with JS
    • updated main ssf tax widget (SSF Filter) so rel=nofollow links will not have href on them until JS runs
    • updated postmeta filters for clickable ranges in similar way
    • updated show existing filters widget so all links have no hrefs in similar way
  • Updated cache storage mechanism to store widget_html and sql_cache in a transient instead of the object cache
    • new wipe cache button added to the advanced tab
    • this new approach allows the transients to survive product updates so that when users are updating products
    • they can choose to wipe the cache after all products updated to keep their site running fast
    • does not apply to multisite sites, as transient control is handled by multisite/wp core
    • added feature so that if spro is installed, we will use our own custom transient cache, otherwise redis and other plugins still wipe the transients
  • Fixed warning happening at /shop/ or top level page

5.33 ( 27th March 2024 )

  • Added debounce handler to JS widget search to speed up search even further for those with long lists
  • Added ssf_archive_tax_term_filter filter into Tax widget (previously added to archive) to allow alteration of what terms are being queried per taxonomy
  • Fixed bug in manual initial table build which was not setting options properly after completion
    • this had led to the little panel staying active saying SSF is building object ancestors in the background
  • Added functionality to count archive pages ( )
  • Added patch for negative value for Widget "Items per page (Ajax)" field ( )

5.32 ( 13th March 2024 )

  • Speed boost in link class
    • profiler showed check for onsaleprettypermalink somehow causing issues! Swapping to !empty() fixes completely. May have been oddity on that client server.
    • Added caching for get_cached_term_link to reduce number of sql calls
  • Changed how JS to select active filters behaves
    • it now scans inside a URL so that e.g. if you use 'Reset' style filters, these will now show as selected properly
    • new code scans upwards and deselects any parents which were marked selected
  • Added 2x new filters for main query per tax + term_ids
    • allows us to include universal items, e.g. to always include a specific model-id when any model is selected
    • apply_filters('ssf_expand_taxonomy', $tax, $expand); return anything truthy to say to expand, or false to make this tax always narrow multiselect
    • apply_filters('ssf_archive_tax_term_filter', $tax, $vals); return the array of term_ids for this taxonomy - useful to add extra term_ids into the archive when this taxonomy in use
  • Altered fast-cat-fetcher to return SQL generated too
    • this used in improved widget cacher
    • widget cacher now ignores the current term_id as it should, anything like that it should respect is in the SQL
    • this should mean a noticable difference in speed when you have your object cache on AND a reduction in object cache usage
  • Change donotreset links to have proper canonical value without other filters selected - new JS handles this instead

5.31 ( 7th March 2024 )

  • Added new option to defines.php SSF_DISPLAY_FILTERED_CATS_ON_NON_CAT_PAGES
    • this takes over and replaces the Customize > WooCommerce > Catalog > Show Categories & Products option
    • this option means that sub-categories will appear at the top of your filter, so long as subcategories remain in your filtered list
    • it also means that the links to these sub-categories include the other filters you have active
  • Fixed taxonomy filter search for hierarchical items
    • it was matching properly on text, but the behaviour should also show parents and children of matches which it now does
  • Added taxonomy name to fwwfilter as additional class to help identify and custom style each type of filter

5.30 ( 6th March 2024 )

  • Fixed CSS issue for selected image label filter ( )
  • Added recommended plugins section and functionality ( )
  • Applied settings import/export functionality ( )

5.29 ( 4th March 2024 )

  • Hotfix for issues with some websites with new pre_get_posts handler
    • this has been tested with oxygen and worldpay and some other issues which arose from 5.23
    • hardened the check for when filters run to ensure they never run on any page other than product archives for the main query

5.28 ( 1st March 2024 )

  • Added new Browser Title Suffix option to SEO tab
    • if left empty, will default to site name
  • Added fix for 'children' display type
    • previously, if a child was selected which had no children, the filter would disappear
    • the correct behaviour should be to let users select other children
    • this only applies to leaf terms, e.g. children filter will still not appear if nothing for that taxonomy has been selected yet
    • and if a top level term is selected which has no children, it will not appear

5.27 ( 29th February 2024 )

  • Fix for pre_get_posts to avoid running on pages where it has nothing to do with the shop archives

5.26 ( 29th February 2024 )

  • Removed override Yoast option - this is handled through the SEO features area at the top of the SEO tab now

5.25 ( 29th February 2024 )

  • Updated some names of settings in the SEO tab

5.24 ( 29th February 2024 )

  • Fix for onsale pretty permalink with new system withour url rewrites

5.23 ( 28th February 2024 )

  • Fix for pagination with new 404 handler
  • Overhaul of SEO features
    • now you can disable, enable for all, or enable each option only for multi-term archives (e.g. category + brand)
    • Robots, Browser title, Meta Description, Canonical tag, Opengraph tags, Rel next/prev pagination tags, Shop archive title, Shop archive description, breadcrumbs
    • SEO items moved out of advanced tab into SEO tab
    • items simplified into meta and on-page
  • Completely rewritten how the SEO overrides work
    • should work now with every single third-party SEO plugin or theme

5.22 ( 23rd February 2024 )

  • Fix for new 404 handler so permalink rewrites can be switched off, even if you have removed the taxonomy qualifier from the base, e..g remove /product-category/

5.21 ( 22nd February 2024 )

  • Added new code for parse_request to help WP recognise multiple terms in a URL ( )
    • this fixes all templating issues with FSE themes & plugins!
    • it also fixes Product Category Display Options (to show products, categories, or products & categories) ( )
    • it also fixes
    • new users will find that the URL rewrite & template redirect options in advanced are disabled by default
    • this should also massively improve onboarding since this should mean that whatever existing filter URLs users have continue to work as expected
    • also made the parse_request code work with flat taxonomies as their rewrite URLs work slightly differently and end up leading to a 404 error page
  • Added new filter for Greenshift breadcrumbs ( )
    • Greenshift seem to ignore Slim SEO, Yoast SEO, Rank Math SEO and WooCommerce for their breadcrumb block and instead build the breadcrumbs from the term hierarchy
    • new filter fixes this so you can use it with SSF
  • Added 2 new widget shortcode areas and refactored the code a bit to make this easily expandable in future
  • Altered the default for URL rewrites and template redirects to default OFF

5.20 ( 20th February 2024 )

  • Added filter 'ssf_custom_url_parameters' to save custom URL parameters ( )
  • Fixed issue for price filter when no values entered for min max ( )

5.19 ( 16th February 2024 )

  • Fixed warning appearing in logs from missing parameter when scheduled auto job for rebuild or from advanced tab

5.18 ( 29th January 2024 )

  • Added Back-orders stock in settings and table ( )
  • Tested reports about issue with wrong stock update based on ( )

5.17 ( 25th January 2024 )

  • Fixed issue with selected filters that are not displayed after filtering and pagination plus sorting ( )
  • Fixed issue with empty min or max value ( )

5.16 ( 21st December 2023 )

  • Fixed issue with selected filters that are not displayed after filtering and pagination ( )

5.15 (19th December 2023)

  • Altered object_ancestors to treat backorders as instock

5.14 (21st November 2023)

  • Updated plugin updater to look at

5.13 (21st November 2023)

  • Includes prelimenary work for the new grouped Apply button (not ready yet)
  • Speed boost for 'query' based filter, now added to posts_request filter instead which only applies for get_posts rather than all queries
  • Fixed bug in API license key caching, one item was not being cached
  • Added new ssf_archive_title filter
    • if you add a filter to ssf_archive_title you can alter the h1 woo title and the browser title for archives
    • this filter is passed the $title and a $pm object which contains the permalink info (tells you what was queried)

5.12 (26th October 2023)

  • Hotfix - last release broke something

5.11 (26th October 2023)

  • Fixed onsale flag builder so that it works on all versions of mysql when comparing an empty price to >= 0
  • Fixed various warnings related to checking is_tax() too early - I now check the queried_object is not null prior to checking is_tax

5.10 (25th October 2023)

  • Fixed APPLY button for price filter so it only appears when necessary
    • i.e. when a slider display type is used or custom range boxes are displayed (or both)
  • Added close button to popovers and popover groups

5.09 (20th October 2023)

  • Added 2 hour transient cache for reading changelog files from our server
    • this will speed up wp-admin slightly and prevent the 403 forbidden error messages some have been getting when trying to run plugin updates

5.08 (9th October 2023)

  • Improved SSF_STOCK_OA_USE_EXISTS performance feature further
    • we query against object_ancestors to check stock for the product_cat by default
    • now if user enters a category, 2 queries have been merged into 1 to check the category and stock levels at the same time

5.07 (9th October 2023)

  • Added new performance beta feature in defines.php: SSF_STOCK_OA_USE_EXISTS
    • if set to true, we swap INNER JOIN for WHERE EXISTS to check our object ancestors table for stock levels of products
    • WHERE EXISTS can be faster especially if it helps the main query only query wp_posts in the main FROM part of the query
    • this allows DISTINCT to be removed from the SELECT clause which eliminates a table scan
    • it also allows your indexes on your table to be used, e.g. to show latest products first quickly
    • this is defaulted to false at the moment pending further testing, you can add define('SSF_STOCK_OR_USE_EXISTS', true); to your wp-config.php to enable it if you wish to test

5.06 (4th October 2023)

  • Fixed new term page (edit-tags.php) so it loads our JS so you can edit images for attributes/brands etc - previous optimisation in 4.98 had broken this

5.05 (4th October 2023)

  • Fixed edit term page (term.php) so it loads our JS so you can edit images for attributes/brands etc - previous optimisation in 4.98 had broken this

5.04 (4th October 2023)

  • Added widget validation to ajax number of items to ensure negative numbers cannot be entered

5.03 (4th October 2023)

  • Reduced number of indexes on object ancestors table

5.02 (3rd October 2023)

  • Fixed bug with dash icons picker
    • if you only changed the icon, the save button was not being activated
    • also shortened the button names to remove the verb
    • also moved the button to the left of the target text field since on smaller screens the icon picker was displaying off to the right

5.01 (2nd October 2023)

  • Removed beta option SSF_REMOVE_DEFAULT_SORT_ORDER
    • instead SSF will now respect Scalability Pro's Remove Sort Order option which always should have been the case

5.00 (28th Septmeber 2023)

  • Fixed bug in hierarchical taxonomy pagination which could cause pagination to stick to page 1 for that taxonomy
  • Fixed bug in default sort order if 2 columns were configured in the default sort order, e.g. menu_order, date - this is now properly respected
  • Fixed bug when combining 'remove tax qualifier' with other taxes which did not have tax qualifier removed - depending on the order of items, this could cause filtering to break
  • Added new possible performance boost for situations where users have millions of items in a taxonomy
    • add define('SSF_TAX_USE_EXISTS', true); to wp-config.php to test this new optimisation, it should speed up the "with matchingterms" SQL queries

4.99 (5th Septmeber 2023)

  • Fixed JS bug with new ajax feature for select items - they were duplicating into other filters if those other filters also had ajax pagination
  • Fixed JS bug with ajax so duplicates cannot appear

4.98 (31st August 2023)

  • Total removal of cookies for recently viewed products, it only uses local storage now
  • Added new easier way to update and maintain context-sensitive-help for admins
  • Fixed selected items and counts for ajaxified filters
  • Fixed container counts for popovergroups

4.97 (24th August 2023)

  • Added new option to Advanced tab - Don't override page & shop titles when only 1 term selected
    • this in response to customer demand, deactivated by default
    • that means your shop titles & page titles will be set now by SSF if you have 1 term selected and the other option enabled to override page/shop titles

4.96 (24th August 2023)

  • Fixed bug introduced yesterday for those who remove /product-category/ from the URL

4.95 (24th August 2023)

  • Adjusted default configs

4.94 (24th August 2023)

  • Fixed items which are trashed - the hook to update the underlying table was not being executed so items were not being deleted from the SSF table until the item was deleted from the trash
  • Hardened Options maintenance when creating new attributes
    • no longer need to visit Settings and hit save after adding a new attribute in order to get the correct URLs for the filters
    • this allowed me to remove some other code which added a little CPU to link generation
  • Improved permalink handler
    • if you have duplicate term slugs, these are now handled correctly according to the tax order and the tax qualifier
    • more speed too

4.93 (23rd August 2023)

  • Fix for search filtering for URL parameters where the widgets were failing if a search was present
  • Fixed warning for require_two_filters for Existing Filters widget

4.92 (23rd August 2023)

  • Fix for search filtering to use default term_relationships
  • Upgrade system license key submission adjustment

4.91 (10th August 2023)

  • Hotfix for new updates system - if your server was configured to disable remote URL requests, a critical error was happening upon upgrade. This has been fixed with a warning message that you cannot check for updates.

4.90 (4th August 2023)

  • Altered Recently Viewed Products to use Local Storage rather than cookie

4.89 (4th August 2023)

  • Upgraded main settings page to show changes since last update
    • added update count to menu to help users notice
  • Added links to all plugin docs and support areas in the settings page

4.88 Beta (26th July 2023)

  • Upgraded updates sytem so it uses JSON and gets zip file from license-key-checked URL

4.87 Beta (21st July 2023)

  • Added second widget area for the filters to be called by a shortcode
    • this was requested by a customer who is using an FSE
    • this lets you have 2 unique areas for your widgets and then place the shortcodes where you need them in your theme builder
  • Disabled any code for SSF_REMOVE_CATALOG_VISIBILITY_CHECK as it should no longer be required

4.86 Beta (21st July 2023)

  • Fixed issue with child categories being identified by WordPress as the parent categories
    • this was affecting the SEO description for category children & the edit category link in the admin bar

4.85 Beta (7th July 2023)

  • Minor update for canonical terms = 0 - extra belt & braces code added to ensure canonicals are never generated if max_canonical_terms = 0

4.84 Beta (6th July 2023)

  • Reduced priority of pre_get_posts so that Super Speedy Search pre_get_posts runs after SSF's140
    • this is required since search is higher priority for the archive and users may have configured search to show variations while regular filtering may be showing products

4.83 Beta (4th July 2023)

  • Optimised main query
    • tested without variation stock check
    • tested with variation stock check
    • tested with show single variations, e.g. show colour when filtered
    • all working great
    • new CTE approach failed performance tests, used different technique to group products
  • Added new check for canonical URLs to avoid creating canonical link if canonical would be empty
    • Daniel had set max terms in canonical to 0 - he is using rankmath for canonicals but us for other SEO stuff
    • If you set max terms in canonical to 0 now or do a similar technique to break our canonicals, the canonical link will no longer appear on those pages

4.82 Beta (30th June 2023)

  • Fixed tab JS problem which was causing other Woo tabs to be deselected
  • Fixed dropdown display type, I'd broken this a few versions ago - I've added now a dropdown to my test environments
  • Removed console output from JS
  • Fixed hidden products
    • exclude-from-catalog correctly read now for ultra-fast object_ancestors table
    • objects are removed from object_ancestors table if they are hidden from the catalog since the oa table is only used for archive and archive counts
    • full table build also handles hidden objects
  • Added new improved CTE approach to grabbing first product
    • e.g. if parent + 2 child variations match, it will fetch parent, if 2 children match, it will show the first child.
    • more config to come for this

4.81 Beta (19th June 2023)

  • Removed the permalink code for 'use SSF template' hierarchy - no longer required

4.80 Beta (19th June 2023)

  • Merged Glyn's CSS edits

4.79 Beta (19th June 2023)

  • Merged Glyns tooltip updates linking to fresh KB articles for the widgets and settings pages

4.78 Beta (19th June 2023)

  • Changed default option for SSF_MAKE_FILTERS_BE_FILTERED_BY_SEARCH to true
    • means that searches will affect the filters now - you can switch this off if you wish for extra speed
  • Fixed bug in widget cache which was caching the search string incorrectly for the widgets
  • Changed defaults for all taxonomies other than product_cat to be max indexable 0 and max canonical 0
    • this means new stores will start by default with only product categories being indexable until/unless admins enable other taxonomies to be indexable
  • Fixed orderby JS so that if filters are selected and order by is chosen the filters still show as selected

4.77 Beta (16th June 2023)

  • Fixed warning about require_two_filters for people upgrading the existing filters widget (otherwise re-saving the widget would have fixed)

4.76 Beta (15th June 2023)

  • Fixed bug with popover groups not respecting the group title

4.75 Beta (15th June 2023)

  • URL Rewrite improvement for pretty permalinks
    • fixes issues with matching non-hierarchical multiselect items
    • new code provides 0.35s speed boost on localhost too from the simpler regex!
    • fixes 404 error for multiselect
  • Fixed issue with detecting multiselect items when a product category was active
    • this was related to some code related to permalink manager pro and the fact that that plugin leaves slug alterations behind in the database
    • this also fixes the show existing filters not listing all filters if you had used permalink manager pro previously (even if it wasn't active)

4.74 Beta (14th June 2023)

  • Fixed bug with defines.php - I'd changed these to wrong defaults - this caused some issues related to stuff not being visible at archives
  • Improved table maintenance - a table rebuild is recommended from the advanced tab
    • found that variation edits were not being entered so anyone using the show-single-variations beta are affected
    • found that imported products were being entered into our tables prior to them having their terms
    • found that deletes and updates were not working as expected for similar reasons (running at the wrong action for WooCommerce)
    • there should be a slight speed boost for imports from this since previously the hooks to update our tables were running twice

4.73 Beta (13th June 2023)

  • Fixed bug in Yoast detection at header

4.72 Beta (9th June 2023)

  • Fixed rollup/show single variations beta option to be compatible with SSS show singles/rollup beta option

4.71 Beta (6th June 2023)

  • Added new option to Existing Filters to choose Clear All button goes to Category URL or to Shop URL. If no category selected, it will go to shop.

4.70 Beta (6th June 2023)

  • Fixed 'hide range boxes' to still show the APPLY button
  • Fixed click handler if range filter/price filter is inside a popover where changing the sliders would cause the popout/popover to hide
  • Fixed grouping with range filters/price filters and postmeta toggles where they were not being grouped properly if you chose display: popovergroup or popoutgroup
  • Fixed CSS for popover/popovergroup buttons in the 'above woo products' widget area so they correctly float left now rather than causing a newline
  • Upgraded the Remove Woo Baggage option in the Settings > Advanced tab to prevent WooCommerce filling the Action Scheduler tables with Product Lookup commands.
  • Fixed bug with Existing Filters widget appearing if a category had been selected, even if 'dont show current cat as filter' was configured - now the widget hides properly
  • Added option to Existing Filters widget to allow admins to decide to not show the Clear All button if only 1 filter is active
    • i.e. the Clear All button is redundant in that case since clicking that one remove filter link will remove all anyway

4.69 Beta (11th May 2023)

  • Added extra code to handle new rankmath 'head' function to replace their canonical and meta descriptions with ours if that option is enabled
  • Fixed broken pagination rel="nofollow,noindex" code
    • this now works regardless of which SEO plugin you are using, or even if you use no SEO plugin
  • Added fallback code for variation images
    • if admins have enabled option to show individual variations and user filters to that, if no variation image exists, it'll grab parent image
  • Fixed group by bug in the beta SSF_SHOW_SINGLE_VARIATIONS option - now correctly avoids showing duplicate children

4.68 Beta (11th May 2023)

  • Added fix to ensure generated links respect wordpress permalink_structure re: trailing slash

4.67 Beta (11th May 2023)

  • Fixed a bug introduced yesterday which broke taxonomy multiselect when you have the tax base removed
  • Fixed a bug for users which do not have WooCommerce installed

4.66 Beta (10th May 2023)

  • Updated rewrite URLs to show unique identifiers to help with any potential debugging: &ssf=X is added so we can identify the rule which has been used for a particular archive

4.65 Beta (10th May 2023)

  • Hotfix for admin pages which were being checked for terms!

4.64 Beta (10th May 2023)

  • Added additional URL rewrite code for Permalink Manager Pro and other tools which may be used to remove taxonomy qualifiers
    • URL rewrites are now always in synch with SSF & third-party permalink tools
    • Options page shows which other plugin has removed this base in case a user wishes to re-add it
  • Added URL rewrite code to handle cases when permalink managers alter the term slug
    • this may have a performance impact if you remove the relevant taxonomy qualifier and have a lot of terms at the top level (e.g if there are 1000s)
  • Added new code to the Link class to detect if Permalink Manager Pro is active and then do a reverse lookup of slugs to identify the filtered items
    • note: the way Permalink Manager Pro stores its URL lookup system is in a massive array with the index on "tax-{term_id}". The slugs are the values.
    • Because of this, if you have an excessive amount of URL alterations, things will get slow.
    • Best advice is to limit how many individual slugs you change for terms

4.63 Beta (26th April 2023)

  • Added new code to set $queried_object early enough, e.g. if user removes /brands/ from /brands/adidas/ to make /adidas/ then queried object will be set to the adidas term early enough so that other plugins don't freak out
    • notably fixes the redirect issue with permalink manager pro
    • almost certainly fixes the reported bug with rank math pro not knowing some custom taxonomy titles
    • tested with multisite, with permalink manager pro, with and without taxonomy qualifiers, with and without multiple terms

4.62 Beta (20th April 2023)

  • Decreased the priority of our init hook for rewrite rules - fixes some broken multi-taxonomy URLs
    • found some custom coded custom taxonomies were not registered in time for our cool rewrites to work to allow you to do multiple taxonomies in a pretty fashiion
    • e.g. /product-category/t-shirts/polo-necks/brand/nike/
    • if brand was registered AFTER our init hook ran, this URL was not working

4.61 Beta (4th April 2023)

  • Fixed warning caused by using of is_shop() - sometimes woo fails to answer this seemingly simple question so I rewrote how to check if the current page is a shop page

4.60 Beta (30th March 2023)

  • Fixed undefined $currentterm warning in tax widget with certain display options

4.59 Beta (30th March 2023)

  • Fixed inline filters shortcode ssf_inline_filters for non-archive pages to ignore hooks & priorities and just run the inline filters in the order configured in the settings page
  • Fixed missing key 'title' warning
  • Fixed 'Show Cat as Filter' option so that clicking 'Clear All' takes user to category with no other filters selected as opposed to taking the user to /shop/
  • Fixed .dialog-container CSS so it doesn't affect other plugins that use this class
  • Re-added tax-widget fragment cache

4.58 Beta (29th March 2023)

  • Final fixes for hook positions for inline filters. You can now attach to hooks, use priorities to control order of events, layer brand or category images over archive product images, position after title etc

4.57 Beta (17th March 2023)

  • Added language template files to allow more comprehensive translation of all text strings
  • Added left alignment, right alignment and center alignment option for displaying inline images for inline filters below the product name

4.56 Beta (8th March 2023)

  • Fixed warnings which were occurring on upgrade due to missing config for inline filters

4.55 Beta (24th February 2023)

  • Fix for JS show active multiselect filters (if ?expand_ was in URL, nothing was being marked on screen as selected)
  • Added per-taxonomy display position for Inline filters
  • Added per-taxonomy priority order for inline filters
  • Added layar-over-image display position option to configure the inline filter to float on top of the bottom left of the image, typically for brand logos on top of images
  • Improved CSS for inline filters

4.54 Beta (23nd February 2023)

  • Fixed JS issue with marking currently selected filters as selected on /page/2
    • this fix also fixes marking selected filters active if there are any other non-filtering params in the URL, e.g. ?fbclid=X
  • Fixed JS issue with showing selected count of currently active filters in popout container buttons (was working on first button with active filters but not subsequent ones)
  • Fixed rare (possibly multisite only?) URL parameter config issue where the config could end up as an object instead of an array, which in turn caused URL parameters (taxonomies without archives) to fail
  • Fixed redirect/404 issue which can occur with Permalink Manager Pro - if we've taken control of the main query, we set do_not_redirect = 1 since Permalink Manager Pro tests for the 'queried_object' and queried_object presumes a SINGLE queried object when in fact we can query multiple taxonomies

4.53 Beta (23nd February 2023)

  • Added link generation fix for multisite networks with subdirectories for each site (was generating links like /nl/product-category/clothing/nl/brand/adidas/)

4.52 Beta (22nd February 2023)

  • Added a function to the woocommerce_attribute_added and woocommerce_attribute_updated hooks so if users edit the 'has archives' or the tax qualifier, our options get updated
  • Added improved code to flush permalinks after saving options
  • Fixed url parameters as slugs rather than just ids if user selects this option
  • Fixed attribute image code so if an attribute does not have the 'enable archive' checkbox that it still gets a thumbnail option in case a user wants to display URL attributes as images in the filters
  • Added Permalink Manager Pro compatibility so users can have /adidas/shoes/ and /nike/shoes/ in their URLs

4.51 Beta (21st February 2023)

  • Further template fixes so Greenshift always works on correct template
  • Fix for Greenshift to figure out which GS query is the MAIN query so stuff actually filters

4.50 Beta (21st February 2023)

  • Overhaul of template selection code so that it only changes the template if UseSSS template hierarchy is selected
    • Otherwise, it uses the template of the first taxonomy presented in the taxorder
    • This means you should probably never have to use the Use SSS Template Hierarchy now and this feature may get removed in future
  • Overhaul of URL rewrites so we don't need the code to rewrite 0 = 1
    • i.e. if there are 2 or more terms in a URL, we always grab the correct slug(s) for the first taxonomy, so that means the term is found by WP and the correct template
    • This means if a term is missing, it should 404 properly now
    • It also means no more template switching for Greenshift builder, divi etc - you can switch on ALL the options in the Advanced tab
  • Rework of Woo titles and page titles override to make more sense
    • specifically, we never overwrite the title or description if only 1 term with an archive has been selected
    • if 2 or more terms exist, THEN our code kicks in to rename SHOP to whatever you have configured in the SEO tab
    • Also added code to remove the shop description when more than 1 term exists since Woo defaults to showing that which doesn't make sense here

4.49 Beta (9th February 2023)

  • Fixed 'Children' display to not display header if no children exist

4.48 Beta (8th February 2023)

  • Added new defines.php option SSF_FORCE_WOO_QUERY_VAR_OVERRIDE
  • Added new defines.php option SSF_DEFAULT_TEMPLATE
  • Added new defines.php option SSF_SHOP_AS_HOME_TEMPLATE_OVERRIDE
  • Improved template handling to find taxonomy templates better and avoid overruling templates when a tax template was successfully found
  • Fixed warning with is_main_query() being called too early (was not causing issues, just notices in QM)
  • Thoroughly tested shop-as-home-page - the new SSF_SHOP_AS_HOME_TEMPLATE_OVERRIDE works perfectly with its default value

4.47 Beta (1st February 2023)

  • Fixed bug with empty data 0 = 1 - this was breaking 404 pages where with SSF enabled, 404 was instead loading standard post archives
  • Fixed bug with term updates (caused filter lists to become out of date requiring rebuild). Was incorrectly trying to update object_ancestors table when post was saved, but terms are actually saved AFTER this.

4.46 Beta (25th January 2023)

  • Added CSS fix for Apply Range filter button - some themes were setting this crazy wide
  • Added SSF_FORCE_TEMPLATE_OVERRIDE rule and fixed incorrect overriding of templates when user had not chosen this in URL tab. If you NEED to force template override on your theme, set define('SSF_FORCE_TEMPLATE_OVERRIDE', true); in your wp-config.php and LET US KNOW so we can investigate further and decide if this should become a detected/built-in option.

4.45 Beta (14th January 2023)

  • Added backtick quotes around table names for customer who has table prefixes starting with a number

4.44 Beta (11th January 2023)

  • Hotfix for Woo detection to fix on multisite installs

4.43 Beta (11th January 2023)

  • Fixed detection of active WooCommerce plugin when used on Multisite installations and WooCommerce has been Network activated - previously required WooCommerce to be locally activated
  • Fixed detection of active Woo if Woo is a must-use plugin
  • Added 2 new hook positions for inline filters in preparation for helping Glyn with his beautiful inline-brand filters

4.42 Beta (24th November 2022)

  • Fix for new PHP 8.1 deprecated warning

4.41 Beta (14th November 2022)

  • Couple of minor fixes for warnings
  • Added is_shop_titleable to pre_get_posts to refactor code and ensure pre_get_posts only runs on shop pages

4.40 Beta (28th October 2022)

  • Fix to stop pre_get_posts running when it shouldn't, now checks our is_shop_titelable function

4.39 Beta (26th October 2022)

  • Further fix for multiselect on hierarchical - if user has parent selected, then selects child, the parent is deselected (previously was only other way around) - now, parents & children of same tree can never be selected at the same time
  • Removed sorting of slugs for multiselect - instead we sort by termID and then grab the slugs, this guarantees that parents of slugs will go together with their related child
  • Fixed multiselect narrowing on hierarchies so it correctly counts NARROWED items rather than counting as if expanded

4.38 Beta (21st October 2022)

  • Fixed filter by color etc when stock check was not enabled

4.37 Beta (21st October 2022)

  • Fixed inline filters when dealing with variations so they pull terms from the parent product
  • Fixed multiselect on hierarchical taxonomies so that select/deselect JS works properly
  • Fixed Existing Filters with multiselect on hierarchical taxonomies so it shows all selected items, not just the first one
  • Updated CSS for hierarchical taxonomies - parent is no longer marked checked when children are selected, only selected children are marked checked
  • Fixed existing filters so it can handle multiselect for product categories
  • Updated CSS for range handles so upper range tooltip is contained within its box
  • Updated CSS for range numerics to not have max-width which some themes set

4.36 Beta (19th October 2022)

  • Fixed bug which was causing additional variations to not appear in post.php
  • Added new defines SSF_REMOVE_SHOP_FROM_BREADCRUMBS - set it to true in your wp-config.php to remove the link to /shop/ or whatever your shop URL is from your breadcrumbs

4.35 Beta (19th October 2022)

  • Altered post_type check to just check if post_type product exists in array or as string, and set it if it doesn't (when we're on a woo archive) - fix for some themes
  • Fixed h1 titles option to be FORCE h1 titles. The advanced option now is the override for both of these, and you can optionally use force h1 if your theme doesn't display the h1 for some reason.
  • Added new Show Filtered Variations option - if a user filters on red, if color is enabled in this setting, the red variation image will be shown in the archive rather than parent image
  • Fixed fww_object_ancestors maintenance - was getting out of sync
  • Tested SSF_OPTIMISE_TAX_QUERIES thoroughly - this is ready to go live
  • Fixed stock check attributes so it checks stock on these items even if they are not currently being filtered, e.g if filtering by size M, but only colour is set to stock check, we still need to check colour has size M in stock

4.34 Beta (14th October 2022)

  • Renamed SSF_PREVENT_FILTERS_BEING_FILTERED_BY_SEARCH to SSF_MAKE_FILTERS_BE_FILTERED_BY_SEARCH and inverted the conditional check. SSF_MAKE_FILTERS_BE_FILTERED_BY_SEARCH is OFF by default. Still not fast enough. It runs against the superspeedysearch table rather than the object_ancestors table. If your search results tend to restrict searches enough to few enough rows you can enable this. This got added because of a client with large taxonomy descriptions which meant a lot of items being matched. Even with them being sorted to the bottom, building the filters and their counts still was expensive.

4.33 Beta (14th October 2022)

  • Updated addH1titles to be FORCE h1 titles. Now if you use the normal advanced option, it will try to filter woocommerce_page_title. However, some themes do not use this so we have the option to force the h1 title in those cases.
  • Added new define('SSF_PREVENT_FILTERS_BEING_FILTERED_BY_SEARCH', true); to prevent filters being filtered by search by default, change it to false if you want the opposite
  • Reduced usage of object cache - no longer storing widget HTML, just storing the SQL keyed on the md5 of the query. This fixes another bug where if we didn't know about a URL parameter and it was present the first time the widget was generated, that param would stick around.

4.32 Beta (10th October 2022)

  • Updated nouislider CS/JSS to latest from
  • Added new filter for get_categories to remove _pad_term_counts if Remove Woo Baggage option is enabled

4.31 Beta (4th October 2022)

  • Companion fix for SSS SKU search against child variations. Now works with beta show single variations option and without.

4.30 Beta (4th October 2022)

  • Extra debug

4.28 Beta (4th October 2022)

  • Added some hidden debug HTML comments output to assist with debugging H1 titles on a site I do not have SFTP access to

4.27 Beta (3rd October 2022)

  • Added condition for beta option to remove sort order to ensure it never removes relevance sort order

4.26 Beta (29th September 2022)

  • Added default for On Sale Page slug
  • Added template override for cases when only query_vars are entered - e.g. minprice, onsale, other meta filters, attribute filters etc. Filter added to 'request' action where I have access to $query_vars and runs before template stuff and query - filter_params_only_for_template_include function

4.25 Beta (29th September 2022)

  • Added CSS fix for themes which add list-style to sidebar widgets, now bullets removed correctly
  • Fixed ajax sidebar highlight selections - the URL was being updated AFTER the code to highlight the current selections was being executed
  • Updated Show Existing Filter default to show category as clearable filter. This also fixes the Clear Filter button so it reverts to /shop/ but some customers have category as the top filter.
  • Added new wp-config.php option to control breadcrumb generation. By default we will now not show the parents of hierarchical taxonomies since this messes up multi-select big time on hierarchical taxonomies but if you want to restore that functionality, add define('SSF_SHOW_PARENTS_PER_TERM_IN_BREADCRUMBS', true); to wp-config.php

4.24 Beta (24th September 2022)

  • Hot fix for billions - somehow their data is returning some duplicates, no performance penalty for adding a SELECT DISTINCT on the outermost part of the CTE query

4.23 Beta (22nd September 2022)

  • Fixed bug with HTML select option for term restriction code - parent terms, child terms etc all properly limited now in the 'Dropdown' option
  • Fixed bug with variation stock control table aliases causing errors if there were hyphens in the variation name

4.22 Beta (16th September 2022)

  • Updated priority of query filter so that beta option to show single variations works with SSS search
  • Change min gap for range filter to 1 instead of 10

4.21 Beta (14th September 2022)

  • Fixed Checkbox and radio styling so it uses flex grid properly with children
  • Improved checkbox styling so checkbox is on center line of text
  • Fixed radio styling with hierarchies so only parent and child are selected, not all children of active parent
  • Added CSS to hide list-style-type - need to double check with customer if this has completely fixed their issue on their theme

4.20 Beta (8th September 2022)

  • Fixed issue with new installations causing warning/error until settings saved.

4.19 Beta (1st September 2022)

  • Fixed Beta test for SSF_BETA - the defines.php was being included AFTER the check for SSF_BETA

4.18 Beta (31st August 2022)

  • Added per-taxonomy and per-url param canonical and indexing control
  • Refactored and improved existing indexing control
  • Added ability to choose max terms per taxonomy for indexing and canonical, max of 0 switches indexing/canonical off for that taxonomy.
  • Added new definition SSF_BETA - if you define('SSF_BETA', true); in your wp-config.php file you will receive notifications for beta updates, otherwise you will now only receive stable/core updates

4.17 Beta (1st August 2022)

  • Fixed bug with initial config for SSF_SHOW_SINGLE_VARIATIONS
  • Fixed warning coming from $custom_postmeta not being declared in some paths
  • Fixed warning coming from missing meta_key in newly defined postmeta range filters

4.16 Beta (29th July 2022)

  • Added new define('SSF_SHOW_SINGLE_VARIATIONS', array('pa_color')); - set up your array in wp-config.php to show these attributes as single variations, typically colour

4.15 Beta (20th July 2022)

  • Added all post types to fww_object_ancestors to support Polylang and future all post types functionality
  • Added extra code to tax widget to filter tax filters by current polylang language
  • Added new polylang code to handle breadcrumbs (URLs and translations) properly

4.14 Beta (7th July 2022)

  • Fixed attributes with enable archives so that they obey the SEO rules for max total attributes and max values per attribute
  • Added beginnings of experimental option for showing single variations as an option - e.g. users will be able to choose if a specific attribute is filtered on that the individual variations for THAT attribute should be shown (typically colour)

4.13 Beta (29th June 2022)

  • Fixed warning about missing option 'stockcheck_variations' - now checks properly for existence before trying to access
  • Fixed Existing filters admin form - clear text and clear search text fields now properly display after save - they were saving, and displaying properly on front end, but the widget form was not showing the changes
  • Fixed issue with thumbnail removal on edit terms page - it was removing before if you hit save, but this was not being shown visually
  • Added tie-breaker to orderby clauses - tie breaker of ordering by ID eliminates possibility of subsequent loads of same pages showing different results. This can also present as if there are duplicates on page 2 etc if the order changed.

4.12 Beta (15th June 2022)

  • Fixed inline filters bug on Elementor builder and probably other visual builders when previewing since there is no global $product

4.11 Beta (14th June 2022)

  • Fixed Link class hasUsableFilters to treat stock check properly - only returns true if user has applied a filter to change the default for stock check. This fixes some cases when SSF was adjusting breadcrumbs/titles when it shouldn't.
  • Fixed active filters so sorting does not display the active filters.
  • Fixed range filter bug that wasn't allowing the slider to extend past 100
  • Fixed range filter bug for step - was not being applied in JavaScript

4.10 Beta (8th June 2022)

  • Fixed Popout button so it doesn't move items below it, i.e. it now popsout OVER the content, doesn't push content down
  • Added hover effect to lists to alter background colour slightly (not checkboxes or radios or labels)
  • Updated on sale filter to include new advanced options including popover group titles etc
  • Fixed button above archive to show labels left to right in float
  • Removed reference to taxorder for building query for tax filters - it now just uses getFilters()
  • Removed use of WHERE EXISTS for tax queries, now using INNER JOIN - found if > 5 WHERE EXISTS, it causes massive statistics jobs to run on certain MySQL configs!
  • Added new shortcode [ssf_inline_filters] which admins can put onto any page where a global $product variable exists, e.g. product detail page, and it will display the inline filters there too rather than just on the archive pages
  • Fixed postmeta range html dropdown - JS was missing to spot the range dropdown being changed. Added to spot this and change URL to the value of the dropdown.
  • Added new option for 'Above products' widget area - you can now choose to hide the filters in this widget area behind a button only on small screens < 720px

4.09 Beta (7th June 2022)

  • Fixed Attribute image selector to allow users to choose images for an attribute - was broken by my speed boost from 4.07. The speed boost has now been correctly applied into Scalability Pro to cache the media query.
  • Fixed highlighting of selected items in filters - was broken in 4.07. This also fixes moving these items to the top if you choose that option in the filter.
  • Fixed hiding Custom Range boxes (e.g. hide custom price boxes) - was a CSS issue

4.08 Beta (5th June 2022)

  • Extra update for import fix - eliminated another call to the rebuild ancestors table

4.07 Beta (5th June 2022)

  • Speed boost for wp-admin - found unused code to enqueue_media files which on sites with many media files was slowing down admin
  • Speed boost for imports - no more need to run table rebuild after wp all import run, tables are maintained, if users switch off do_action calls in wp all import, there is a function you should call to rebuild our tables after the import has been completed: fww_recalc_terms_after_wpallimport();

4.06 Beta (2nd June 2022)

  • Bug fix for flat taxonomy URL rewrites pagination

4.05 Beta (1st June 2022)

  • Meta filters now work properly at /shop/ level, but my advice is to HIDE meta filters (advanced widget options) until at least a category has been selected for performance reasons. I will improve meta-filtering speed further in future.
  • Added missing translation texts to Existing Filters for 'in stock' text and 'on sale' text
  • Reworked URL rewrites - now it distinguishes between hierarchical taxonomies and flat taxonomies. If hierarchical, no need for extra rewrite rule since an open-ended rewrite already exists. (if you set to use our template, you can still override this).
  • Fixed bug with multiselect expand and the new wp-config optimisation when SSF_OPTIMISE_TAX_QUERIES set true
  • Fixed issue with price range or other meta ranges involving decimals, it now correctly takes into account the decimal. Previously if you set maxprice 10, it would include items priced at 10.90 etc, now it must be 10.00 or less.
  • Added filter dependency to all postmeta filters - e.g. don't show price filter until product_cat is selected
  • Disabled broken SSF_ISSUE_404_FOR_MISSING_URL_TERMS option - if you set this true in wp-config.php it will currently have no effect until a future fix
  • Fixed issue with narrow multiselect product counts - now product counts correctly reflect how many items will be shown if you narrow on this filter further

4.04 Beta (30th May 2022)

  • Performance boost for URL Rewrites - makes a big difference on sites with numerous taxonomies and now correctly works by default with two taxonomies in place

4.03 Beta (30th May 2022)

  • Fixed error occurring if no taxonomies exist - not sure how this can occur, but added code to prevent an error
  • Fixed some other warnings that happen when settings not yet initialised

4.02 Beta (30th May 2022)

  • Fixed fatal error occurring with new users when no options were created yet

4.01 Beta (28th May 2022)

  • Added meta param name config to settings page - once you save a meta filter, new parameters will be listed in settings where you can configure them
  • Re-added ability to rename URL parameters for attributes/taxonomy URL parameters (not for slugs, those can be renamed in normal permalink way)
  • Made existing price filters extend new range filter class - old price filter configs will be carried over, now with new options available from new range filter
  • Added new define SSF_LOAD_BACKWARDS_COMPATIBILITY_CSS - if you set this in wp-config.php to true, we will load the old Faster Woo Widgets CSS in addition to the new SSF CSS
  • Added new define SSF_MAKE_INLINE_FILTERS_DO_FOLLOW - if you set this true in wp-config, inline filters will all be DO FOLLOW links
  • Changed all CSS/JS to have proper version number attached rather than fetching fresh JS/CSS every page

4.00 Beta (25th May 2022)

  • Added new define SSF_ISSUE_404_FOR_MISSING_URL_TERMS to check URL terms (not parameters) for existence, and if any don't exist, issue 404

3.99 Beta (25th May 2022)

  • Fixed image inline filters so that if an image does not yet exist, it will use the term name instead

3.98 Beta (25th May 2022)

  • Fixed broken dropdown option - not many people use this, but still some may - the HTML for it had been broken. Most people are using containers to create better looking options, but this HTML select/option dropdown is now fixed
  • Added bolding through class in JS to selected dropdowns - adding the class through JS allows the filter to be re-used in its entirety on certain pages
  • Fixed bug with Object Cache and caching 'remove filter' link - this is now handled completely through JavaScript. Previously, if the first page visited was /shop/ then afterards visiting /product-category/dogs/ and then clicking dogs in the filter would have kept user on the dogs page. It now correctly removes the dogs term while still being cacheable.

3.97 Beta (25th May 2022)

  • Added new define to remove default sort order from main query (only if no URL sort parameter exists)
  • Added new define to remove catalog visibility check from tax/attribute filters
  • Added extra optimisation under SSF_OPTIMISE_TAX_QUERIES definition to handle stock check for main query
  • Optimised tax filter stock check (simple stock check) to use the bitflag on object_ancestors
  • Added bold font-weight to 'chosen' items in lists

3.96 Beta (21st May 2022)

  • Altered Query filtering priorities to be compatible with latest Super Speedy Search

3.95 Beta (21st May 2022)

  • Added SSF_OPTIMISE_TAX_QUERIES option to replace slow term_relationship filters with joins to our object_ancestors table

3.94 Beta (18th May 2022)

  • Refactored custom postmeta filter to have another class underneath and then have a display options area - toggle, range, list - all other parts are the same
  • Fixed bug with range text box where clicking the label prevented clicking to type
  • Altered CSS and JS for underlying range filter to not need PHP, it generates the noUiSliders using pure enqueued jQuery now
  • Added 3 style options to range filter
  • Added minmax, min, max, exact match options for postmeta filters
  • Fixed some CSS issues with range filter
  • Connected range slider to new custom range boxes in both directions

3.93 Beta (17th May 2022)

  • Added custom postmeta URL parameters to Link class
  • Added new SSS_PostMeta_Widget class - currently a generic postmeta toggle class
  • Added postmeta restriction to tax filter so filters are now restricted by meta values

3.92 Beta (9th May 2022)

  • Minor CSS alteration for inline image filters

3.91 Beta (9th May 2022)

  • Added woocommerce_product_thumbnails inline position for inline filters
  • Added Image Large display option + related early CSS

3.90 Beta (9th May 2022)

  • Fixed bug with 'disable until other selected' - option was saving, but was not showing saved value in admin widget
  • BETA UPDATE: Added thumbnail selection option to all taxonomies so users can configure images for use in inline filters and widget filters
  • BETA UPDATE: Added 4 image display options to super speedy filters widget - still in beta, displays similarly to colour labels
  • BETA UPDATE: Added new display option to Inline Filters - text/image - to allow user to display images below/on top of product images (still beta)

3.89 Beta (6th May 2022)

  • Fixed widget GROUP menu-icon selector CSS so it pops out above the widget correctly
  • Added Group Title field to admin - group title now used for buttons containing groups of filters rather than first filter title being used
  • Changed Group Icon to Button Icon and made this button icon available for popouts and popovers as well as groups (i.e. all buttons can have an icon now on the filter container button)
  • Fixed icon picker so it can be used after widget saved - previously required page refresh
  • Improved my selective-show JS logic on widgets admin to be able to handle more granularity
  • Fixed container button counts so they show total counts of items in the underlying group

3.88 Beta (5th May 2022)

  • Fixed multiselect bug causing items to not show up as selected in visual interface - e.g. checkbox and circle count of selected items
  • Fixed multiselect 'deselect' inside the filter - only the first selected filter was getting the correct deselect URL
  • Fixed URL parameter bug where URL parameter was not filtering results in certain cases

3.87 Beta (4th May 2022)

  • Fixed bug causing taxonomy descriptions not to appear - it's meant to hide them if the taxonomy + another filter is selected, it was hiding them all the time
  • Fixed bug with accordion display re: cookies - if you activated the accordion mode, then deactivated it, any filters you'd viewed would stay hidden except for the last open one!
  • Fixed bug in Widget Editor related to conditional display of some options which was causing WordPress to warn that the widget had not been saved when it had

3.86 Beta (4th May 2022)

  • Fixed bug causing 'ignore other filters' to actually respect other filters

3.85 Beta (3rd May 2022)

  • Added minor optimisation for URL rewrites to avoid additional rewrite rule when a more generic rule already captures the data and provides the correct template

3.84 Beta (30th April 2022)

  • Fixed permalink/template override - now it will always override /product-category/dogs/color/green/ but if you enable the option it will also override the template for /product-category/dogs/ which can be useful
  • Fixed pagination bug with double custom taxonomies in URL in some cases

3.83 Beta (30th April 2022)

  • Added new defines.php file - will let me make solutions for people quickly, and assign the job of making the admin interface for it to another developer later
  • Added new defition SSF_RESET_INLINE_FILTERS - default false - which changes the inline filters to reset the other currently selected filters and just show all of that term. e.g. if you are on /t-shirts/green/ and you select adidas in inline filters you will see all adidas stuff if you select true

3.82 Beta (28th April 2022)

  • More context-sensitive help along with links to full guides on our site
  • Removed some error-logging

3.81 Beta (28th April 2022)

  • Some extra text links added

3.80 Beta (28th April 2022)

  • Added job to rebuild fww_ancestors which is used in the taxonomy search functionality
  • Bumped the db_version number to force a scheduled background job to run to rebuild the tables which will then be auto-maintained

3.79 Beta (27th April 2022)

  • Added WP Intense license key option to multisite
  • Fixed preview in customiser and broken ajax widgets since I removed the preview of widgets
  • Fixed Current Hierarchy display option so it correctly expands the currently selected term
  • Fixed accordion styles for rotating arrow
  • Added object ancestors maintenance code to keep object ancestors up to date

3.78 Beta (27th April 2022)

  • Hotfix for termids

3.77 Beta (27th April 2022)

  • Added "Include Terms" option in widgets - let's you specify to only include specific term ids in results
  • Removed collapsible setting from Widgets, moved them into container options to avoid confusion
  • Re-arranged widget settings to make them easier to navigate
  • Added more ? help tips to widget settings
  • Added JS controls to wp-admin widgets to conditionally hide settings depending on whether they needed to be displayed based on other settings
  • Added 'Advanced Settings' area to wp-admin widgets to hide lesser used settings

3.76 Beta (27th April 2022)

  • Altered URL structure override templates to also override permalinks for top-level taxonomy items, if override is enabled - this allows users to override /marka/xyz/ to stop using whatever template it uses and use the shop template
  • Fixed URL bug in pagination of taxonomy combos

3.75 Beta (22nd April 2022)

  • Another fix for multiselect - multiselect was not working if the multiselect taxonomy was the only one in the URL -

3.74 Beta (22nd April 2022)

  • Added more context-related help docs
  • Fixed multiselect - I'd broken it yesterday

3.73 Beta (22nd April 2022)

  • Added custom static preview option to gutenberg preview - the preview bypasses all forms of object caching, so this was hurting large customers.
  • Added tooltip help system to widgets - not all docs complete yet, but getting there!
  • Added new option in Settings > Super Speedy Filters > Main to hide Above Products widget area behind a Filters button
  • Cleaned up front-end CSS a little bit for the top widget bar to reduce vertical spacing between widgets

3.72 Beta (21th April 2022)

  • Fixed onsale widget translation bug - it was not running through the WP translation system
  • Fixed warning in class-link if URL parameters were not present
  • Fixed archive bug with classic woocommerce layered cat widget on some themes that was breaking the archive - set product_cat to slug not termid in request

3.71 Beta (21th April 2022)

  • Removed FWW Custom Tax, FWW Product Attributes, FWW Product Categories filters for new users - existing users who upgrade to SSF from FWW will still see these filters, but new users will not (everything is in the generic Super Speedy Filter)
  • Renamed other still-in-use filters to Super Speedy - stock, on-sale, existing filters, viewed products

3.70 Beta (20th April 2022)

  • Added Exclude Term IDs functionality to main widget

3.69 Beta (20th April 2022)

  • Removed URL parameters from breadcrumbs
  • Fixed selected filters so that clicking them again will toggle them off

3.68 Beta (20th April 2022)

  • Added template fallback for cases where /shop/ page (defined in WooCommerce) somehow did not have an archive-product.php template!

3.67 Beta (19th April 2022)

  • Fixed bug in archive results for cases where variations & simple products exist and where the variations are used for stock control and those attributes also exist in the simple products - the simple products were not appearing in this case. e.g. if you had a red simple product, but you had colour configured as stock control for other variable products then the red simple product was not appearing.
  • Fixed bug in archives where in some cases URL parameters would be ignored! It depended on whether you had enabled archives for the attribute in the past and then reverted.
  • Fixed bug in widget where simple products were not being counted if variable stock check was enabled and a variation attribute was selected

3.66 Beta (18th April 2022)

  • Added extra element to object cache key for difference in filter with narrow vs expand
  • Fixed issue with 'exclude from catalog' items appearing in archive and being counted in widgets
  • Fixed migration of code for product variations stock check.

3.65 Beta (7th April 2022)

  • Fixed object cache bug for multiselect taxonomies - with object cache + multiselect taxonomies, with one tax selected the 2nd one was not selectable
  • Fixed bug causing tax description not to appear if default check stock was enabled
  • Removed URL parameters from breadcrumbs
  • Stopped items with // slug appearing in Settings > URL Structure (they have been changed to URL parameters)
  • Fixed tax name display in widgets to show tax->label (taxonomy) e.g. Product Categories (product_cat)
  • Fixed price filter ajax in fww_sidebar - more work to be done here, but it will be applied to the generic 'range filter'
  • Fixed CSS checkboxes for selected hierarchical taxonomies

3.64 Beta (6th April 2022)

  • CSS update to fix checkboxes for multiselect

3.63 Beta (5th April 2022)

  • Hotfix for URL parameters to point to /shop/?filter when they exist on their own without any other filters

3.62 Beta (5th April 2022)

  • Fully removed 'slug' based attributes - users can now create them as slugs by enabling archives for the parameters
  • Removed all references to permalinkbase - no longer used
  • Fixed Ajax refine search so that pagination respects current page - i.e. it grabs page 2 based on the Filters from the current URL
  • Fixed Ajax refine search so that you can do two searches at once - e.g. user searches 'Cedar' to get list of 100 items in sidebar widget, then refines this list with the ajax search to search through the names
  • Improved Permalink rules to avoid even touching at all any taxonomy templates when only one taxonomy is chosen - now the permalinks for our template only kick in when two or more taxonomies are selected (e.g. /product-category/clothes/brand/asos/color/blue/)
  • Added missing translation domain for 'Clear search text'
  • Fixed upgrading from old FWW attribute - new SSF taxonomy will now automatically pick the correct attribute/taxonomy name

3.61 Beta (31st March 2022)

  • CSS fixed for categories
  • ajax scroll and search made way better

3.60 Alpha (30th March 2022)

  • Added ajax scroll and ajax search option to widgets

3.59 Alpha (30th March 2022)

  • Renamed plugin to Super Speedy Filters with forked repo
  • Moved all CSS, JS, fonts and images to assets folder

3.58 Alpha (29th March 2022)

  • Merged Display Options from Attribute into Custom Taxonomy Class
  • Fixed bug in widget where //brand// was showing instead of /brand/
  • Removed default CSS classes to avoid double checkboxes etc - users can always add them back in, this way seems more reliable
  • Created Super Speedy Filter class to cover taxonomies and attributes - copied over display options and colour selection. Some attribute details will move to Settings > URL Structure e.g. multiselect and URL parameter names
  • Added Enabled option to filters with options: Enabled, Disabled, Admins Only - useful for onboarding until they get the filters looking how they want if they do not have a dev environment
  • Fixed bug with multiselect if admins had set "archives enabled" for a product attribute with duplicate tax1 table name
  • 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.
  • Fixed bug with default ordering by price which was causing unpriced items to not return

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 -
  • 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. 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

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 (

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: should redirect to 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:
  • 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) -

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


  • 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.


  • Removed warning created by missing dropdown text values


  • Fixed bug with manual sorting if categories and attributes selected together


  • Re-added admin option for 'manual sorting' (code to process was already there but admin option wasn't)


  • Fixed bug for editing existing colours in appearance->widgets


  • Added custom label options for pieces of English text, so translations can be entered or customised