I’m running into a bug with the product archive filter bar (Category dropdown / Show count / Sort by) on my WooCommerce category pages.
What works: Single-category archive pages fully support query-string filtering, e.g.:
https://safedesires.com/product-category/faux-leather?orderby=price
https://safedesires.com/product-category/faux-leather?sale_status=1
What’s broken: I combined multiple category slugs in one URL (standard WooCommerce/WordPress taxonomy syntax — comma = OR) to get an “all categories” view, since my main Shop page no longer uses the dynamic archive template. This loads correctly on first page load:
But if I then change the Sort by dropdown (or Show count, or Categories filter) on that same page, the product grid clears out, the loading spinner appears, and it never resolves — the products never come back. I checked the browser console and network tab: no JavaScript error is thrown, and no AJAX request is sent at all when the dropdown changes on this URL. It works fine doing the same sort change on a normal single-category URL.
It looks like the AJAX filter script isn’t able to parse/rebuild its request URL when the category path has multiple comma-separated slugs, and fails silently before ever making the request, leaving the loading state stuck permanently.
What I need: Either (a) a fix so the filter bar’s AJAX handler supports multi-category archive URLs, or (b) your recommended way to build a genuine “all categories” product archive page (with the same working Category/Show/Sort filter bar, ideally with an on-sale-only filter) without relying on this comma-URL workaround — e.g. is there a Products/Archive widget setting where Category can be left blank to mean “all categories,” and does it support an “on sale only” query option?