WooCommerce filters werken niet: vier symptomen, vier oorzaken
Werken WooCommerce-filters niet, dan komt dat meestal doordat producten eigen attributen hebben, met de hand in één product getypt, in plaats van globale. De tweede veelvoorkomende oorzaak zijn dubbele waarden, bijvoorbeeld “Zwart” en “zwart”. Minder vaak ligt het aan de filterplugin zelf of zijn cache. Bepaal welk van de vier symptomen je ziet, dan wordt de oorzaak meestal duidelijk.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van WordPress-websites en WooCommerce-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 6 min lezen
Waar het filter zijn gegevens vandaan haalt
Een filter in de webshop toont waarden van attributen, dus kenmerken als kleur, maat of materiaal. WooCommerce kent twee soorten attributen, en die bepalen of het filter überhaupt iets ziet.
| Globaal attribuut | Eigen attribuut (per product) | |
|---|---|---|
| Waar je het aanmaakt | Producten → Attributen | op de pagina van één product, tabblad Attributen |
| Waarden | één gedeelde lijst voor de hele webshop | met de hand getypt, alleen in dat product |
| Zichtbaar voor het filter | ja | meestal niet |
| Kans op typfouten | klein, je kiest uit een lijst | groot, elke invoer vanaf nul |
| Voor variaties | ja | ja, maar zonder filteren |
De WooCommerce-documentatie over categorieën, tags en attributen legt uit dat attributen dienen om producten te filteren en variaties te bouwen. De documentatie van het attribuutfilterblok in de zoekextensie zegt het nog duidelijker: het attribuutfilterblok ondersteunt alleen globale attributen.
Symptoom 1: het filter toont geen producten
Een klant klikt op “Rood” en ziet een lege lijst, terwijl de webshop rode producten heeft.
Oorzaak: bij de rode producten staat de kleur als eigen attribuut of in de beschrijving, niet als term van een globaal attribuut. Het filter zoekt producten die aan de term “Rood” in de globale lijst gekoppeld zijn en vindt er geen.
Controleer het tabblad Attributen bij een van die producten. Een globaal attribuut heeft een naam uit de lijst en termen die je kiest uit een keuzelijst. Een eigen attribuut heeft een tekstveld met waarden gescheiden door een verticale streep.
Symptoom 2: een waarde of een heel attribuut ontbreekt in het filter
Je hebt vijf kleuren, en het filter toont er drie. Of er is helemaal geen filter op maat.
Er zijn meestal drie oorzaken. Sommige producten hebben een eigen attribuut in plaats van een globaal. De term staat in de lijst, maar geen enkel gepubliceerd product op voorraad heeft hem, dus het filter verbergt hem. Of het filterblok is op maar één attribuut ingesteld. In blokthema’s stel je filterblokken in onder Weergave → Editor, in het sjabloon van de catalogus, en de documentatie over het productfilterblok beschrijft hoe ze werken.
Symptoom 3: dezelfde waarden staan er dubbel in
Het filter toont “Zwart”, “zwart” en “Zwrat”. Of “XL” en “xl”. Elke waarde leidt naar een andere set producten.
Oorzaak: imports uit meerdere bestanden, of waarden die met de hand zijn toegevoegd. Voor WooCommerce zijn dat aparte termen. De oplossing: kies er één, koppel alle producten daaraan, en verwijder pas daarna de lege. De volgorde telt, want als je een term verwijdert die nog producten heeft, wordt hij van die producten losgekoppeld.
Met een CSV-import maak je ook makkelijk een eigen attribuut aan in plaats van een globaal. De handleiding van Barn2 over attributen importeren legt uit hoe je dat voorkomt.
Symptoom 4: het filter toont verkeerde of verouderde resultaten
Het filter toont een product dat er niet hoort, een uitverkochte maat, of de stand van een paar dagen geleden.
De oorzaken zijn technisch:
- de cache van een cacheplugin of van de filterplugin zelf,
- de opzoektabel voor attributen van WooCommerce, die na een import achter kan lopen; in nieuwere versies genereer je die opnieuw onder WooCommerce → Status → Gereedschap,
- een filterplugin die naar de attributen van het product kijkt in plaats van de voorraad van een bepaalde variatie,
- een conflict tussen twee filterplugins, of tussen een filterplugin en een zoekplugin.
Hier beslissen de instellingen en de documentatie van de filterplugin. Het overzicht van Themeisle behandelt ook de ingebouwde filterblokken en hun grenzen.
Een attribuut voor filters, voor de beschrijving of voor variaties
Elk attribuut op de productpagina heeft twee vinkjes, en beide bepalen wat de klant ziet.
“Zichtbaar op de productpagina” toont het attribuut in het tabblad met extra informatie. Het heeft geen invloed op het filter, maar helpt klanten producten te vergelijken.
“Gebruikt voor variaties” maakt het attribuut de basis voor variaties, bijvoorbeeld maten van een hoodie. Zo’n attribuut kan nog steeds in het filter werken als het globaal is. Maar dan gaan filter en voorraad van elkaar afhangen: een product met een uitverkochte XL kan verschijnen als XL is gekozen, afhankelijk van de filterplugin.
Een goede regel: houd de kenmerken waarop klanten producten kiezen, zoals kleur, maat, materiaal of merk, als globale attributen. Beschrijvende details die bij één product horen, kunnen eigen attributen blijven of in de beschrijving staan. Gebruik categorieën en tags voor groepen producten, niet voor kleuren en maten.
Zo ruim je attributen stap voor stap op
Een volgorde waarbij je geen gegevens kwijtraakt:
- Zet de globale attributen onder Producten → Attributen op een rij, met hun termen.
- Zoek producten met eigen attributen die globaal zouden moeten zijn.
- Zoek dubbele termen en kies welke blijft.
- Koppel producten aan de juiste globale termen, te beginnen met één categorie.
- Controleer het filter op die categorie in een privévenster van de browser.
- Verwijder de lege dubbele termen.
- Leeg de cache en controleer de filters in de andere categorieën.
Bij een paar producten doe je dit in de backoffice. Bij een paar honderd betekent het vele avonden producten een voor een openen.
Zo helpt de chat
De TellMyShop-plugin voor WordPress en WooCommerce leest de lijst met attributen en hun termen, en de productgegevens, al in de gratis versie TellMyShop Free. Je chat (Claude of ChatGPT) vindt producten zonder attributen, met eigen attributen in plaats van globale en met dubbele termen, en maakt dan een plan om op te ruimen.
In TellMyShop Pro stelt de chat productattributen in zodra de licentie is geactiveerd, zonder schakelaars, in batches van maximaal 50 producten. Elke batch heeft een voorbeeld, opslaan gebeurt na jouw akkoord, en in de wijzigingsgeschiedenis kun je elke wijziging ongedaan maken. Een voorbeeldgesprek, met voorbeeldwaarden:
Jij: Het kleurfilter in de categorie Jassen toont maar een deel van de producten. Zoek uit waarom.
Je chat: De categorie Jassen heeft 64 producten. 41 hebben het globale attribuut Kleur. Bij 18 staat de kleur als eigen attribuut, dus het filter ziet ze niet. 5 hebben helemaal geen kleur. Daarnaast heeft het attribuut Kleur twee termen, “Zwart” en “zwart”.
Jij: Zet die 18 over naar het globale attribuut en voeg de zwarten samen.
Je chat: Voorbeeld van de eerste 2 van 18:
Bij 7 producten met de term “zwart” verander ik die in “Zwart”. Vijf producten hebben geen kleur: geef me de kleuren of ik sla ze over. Ik sla het op na jouw ‘ja’.
Tatra-donsjas
oude versie: Kleur (eigen): zwart
nieuwe versie: Kleur (globaal): Zwart
Gorce-softshelljas
oude versie: Kleur (eigen): marine
nieuwe versie: Kleur (globaal): Marine
De chat raadt geen kleur of maat uit de naam als hij het niet zeker weet. Ontbrekende gegevens verzamelt hij in één vraag. Hij repareert ook niet de filterplugin of de instellingen ervan. Toont het filter na het opruimen van de attributen nog steeds verkeerde resultaten, dan ligt het probleem in de plugin zelf, en meld je het bij de maker ervan of bij wie de site beheert.
Goede filters zijn het halve werk aan een categorie. Het stuk over categoriebeschrijvingen in WooCommerce behandelt de andere helft. Gebruiken klanten de zoekfunctie in plaats van filters, kijk dan wat je doet als de zoekfunctie van WooCommerce geen producten vindt. Meer over de plugin staat op de pagina TellMyShop voor WordPress en WooCommerce, de prijzen op de pagina prijzen, en alle handleidingen op de blog.
Vragen en antwoorden
Wat is het verschil tussen een globaal en een eigen attribuut in WooCommerce?
Een globaal attribuut maak je één keer aan onder Producten → Attributen en kies je bij veel producten. Een eigen attribuut typ je met de hand in één product en het bestaat alleen daar. Filters in de webshop werken met globale attributen en zien eigen attributen meestal niet.
Waarom toont mijn filter “Zwart” en “zwart” als twee waarden?
Omdat het twee verschillende termen van het attribuut zijn, meestal na imports uit twee bestanden of het met de hand toevoegen van waarden. Het filter toont elke term apart en klanten zien maar een deel van de producten. Koppel de producten aan één term en verwijder de andere pas als die leeg is.
Het filter toont een maat die uitverkocht is. Is dat een fout?
Dat hangt af van de instellingen en de filterplugin. Sommige filters kijken naar de attributen van het product in plaats van de voorraad van een bepaalde variatie, en tonen het product dus ook als de gekozen maat op is. Controleer de instellingen van de filterplugin en de voorraad van de variaties.
Repareert TellMyShop mijn filterplugin?
Niet in deze taak. De chat controleert en verbetert de gegevens waarmee filters werken: productattributen, hun termen en gaten. De instellingen van de filterplugin zelf, het uiterlijk en eventuele codefouten blijven bij de maker van de plugin of bij wie de site beheert.
Hoeveel producten kan de chat tegelijk verbeteren?
In TellMyShop Pro worden attributen ingesteld in batches van maximaal 50 producten. Voor een grotere klus controleert de chat of die binnen de uurlimieten uit het pluginpaneel past, en stelt hij etappes voor als dat niet zo is.
WordPress is een handelsmerk van de WordPress Foundation. WooCommerce is een handelsmerk van Automattic Inc. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.