Module 3 · 3.2
Nederlands
Variabele producten en attributen
Module 3: Producten · Leestijd: 10 minuten
Leerdoel: Na deze les kun je een variabel product met attributen en variaties opzetten, kiezen wanneer variaties beter zijn dan losse producten, en problemen bij veel variaties voorkomen.
Kernbegrippen: attribuut, globaal attribuut (Producten > Eigenschappen), lokaal attribuut, termen, "Gebruikt voor variaties" (Used for variations), variatie, standaardwaarden (Default Form Values), variaties genereren, bulkbewerking, prijs en voorraad per variatie, aantal combinaties, max_input_vars
Eén product, meerdere keuzes
Theehuis Example verkoopt losse sencha in zakken van 50, 100 en 250 gram. Voor de klant is dat één thee met een keuze in hoeveelheid. Voor de winkel zijn het drie dingen met een eigen prijs, een eigen voorraad en misschien een eigen gewicht. Dat is precies waar een variabel product voor is: één productpagina, één beschrijving, één plek in de zoekresultaten, en achter de schermen een variatie per keuze.
Het alternatief, drie losse enkelvoudige producten, heeft nadelen: drie pagina's met bijna dezelfde tekst (dubbele inhoud, les 7.1), drie keer de foto's beheren, en een klant die moet zoeken welke zak hij wil. Toch is een variabel product niet altijd beter. Een vuistregel:
- Variabel als de klant het als hetzelfde product ziet en alleen een eigenschap kiest: maat, kleur, gewicht, maalgraad.
- Losse producten als ze echt anders zijn of anders gezocht worden: groene en zwarte thee, of een theepot van gietijzer en een van glas. Die verdienen elk een eigen pagina met eigen tekst.
Attributen: de bouwstenen
Een variatie is een combinatie van attributen. Een attribuut is een eigenschap ("Gewicht") met termen of waarden ("50 g", "100 g", "250 g"). WooCommerce kent er twee soorten:
Globale attributen maak je één keer aan bij Producten > Eigenschappen (Products > Attributes). Ze gelden voor de hele winkel: "Gewicht" met dezelfde termen voor alle thee. Voordelen: je typt de termen één keer, de spelling is overal gelijk, en klanten kunnen in de winkel op het attribuut filteren ("toon alle thee in 250 g"). Elk globaal attribuut is een taxonomie met eigen archiefpagina's als je dat aanzet.
Lokale attributen (custom product attributes) voeg je alleen aan één product toe. Handig voor iets dat maar bij één product voorkomt, zoals de gravure-opties van één theepot. Nadeel: geen filter, en bij tien producten met "Kleur" heb je tien keer een eigen lijst met spelfouten.
Kies daarom voor terugkerende eigenschappen (maat, kleur, gewicht, materiaal) een globaal attribuut.
Een attribuut doet pas iets voor variaties als je bij het product het vinkje Gebruikt voor variaties (Used for variations) aanzet. Zonder dat vinkje staat het alleen als informatie in het tabblad "Extra informatie" op de productpagina. Dat is ook nuttig: "Herkomst: Japan" is een attribuut zonder variaties.
Variaties maken en vullen
Met de attributen klaar ga je naar het tabblad Variaties. Daar zijn twee knoppen: Variaties genereren (Generate variations), die van alle combinaties een variatie maakt, en Handmatig toevoegen (Add manually), voor één variatie tegelijk.
Elke variatie heeft eigen velden: SKU, prijs, aanbiedingsprijs, voorraad, gewicht, afmetingen, een afbeelding, en de vinkjes ingeschakeld, downloadbaar en virtueel. Een variatie zonder prijs is niet te koop en verschijnt niet als keuze. Dat is de meest gemaakte fout: variaties genereren, de prijs vergeten, en een klant die "Deze variatie is niet beschikbaar" ziet.
Met de bulkbewerking boven de lijst zet je in één keer de prijs, de voorraad of het gewicht voor alle variaties, of verhoog je prijzen met een bedrag of percentage. Daarna pas je de uitzonderingen per variatie aan.
Met standaardwaarden (Default Form Values) kies je welke variatie voorgeselecteerd staat als de pagina opent. Kies de variatie die het meest verkocht wordt, of laat het leeg zodat de klant bewust kiest. Staat er niets voorgeselecteerd, dan toont de pagina een prijsbereik ("€ 6,50 tot € 24,00").
Het aantal combinaties: hier gaat het mis
Variaties vermenigvuldigen. Een theepot in 4 kleuren, 3 maten en met of zonder gravure geeft 4 × 3 × 2 = 24 variaties. Voeg een vierde attribuut met 5 opties toe en je zit op 120. Dat heeft gevolgen:
- Beheer. Elke variatie heeft eigen prijs, voorraad en SKU. 120 regels bijhouden is veel werk en foutgevoelig.
- De productpagina. Tot een bepaald aantal variaties (standaard 30) stuurt WooCommerce alle combinaties mee in de pagina, zodat de keuzelijsten direct weten welke combinaties bestaan. Bij meer variaties vraagt de pagina per keuze bij de server na of de combinatie bestaat (via AJAX). Dat werkt, maar een klant kan dan eerst een combinatie kiezen die niet bestaat en pas daarna een melding krijgen.
- Opslaan. Bij het opslaan van veel variaties stuurt je browser heel veel velden tegelijk naar de server. PHP heeft daar een grens voor, max_input_vars. Wordt die overschreden, dan worden de laatste velden stil weggelaten: je slaat op en een deel van je wijzigingen is weg. Het beheer toont daarom 15 variaties per pagina, maar bij heel veel attributen en velden kan de grens toch geraakt worden. Je hoster kan max_input_vars verhogen; in de meeste panelen kun je dat zelf bij de PHP-instellingen (les 7.2).
Wat je kunt doen:
- Alleen combinaties maken die echt bestaan. Niet "Variaties genereren" bij vier attributen, maar handmatig de combinaties die je verkoopt.
- Een eigenschap die de prijs en voorraad niet verandert, niet als variatie maar als productoptie of notitie aanbieden (bijvoorbeeld een gravuretekst via een veld; daar zijn uitbreidingen voor).
- Echt verschillende producten als losse producten verkopen.
Valkuilen
- Attribuut later hernoemen. Een term van een globaal attribuut hernoemen kan, maar bestaande variaties verwijzen naar de slug. Test het eerst in je testwinkel.
- Voorraad op productniveau en op variatieniveau door elkaar. Kies per product: voorraad per variatie (meestal) of één voorraad voor het hele product.
- Variatiefoto's. Zonder eigen afbeelding toont de variatie de hoofdfoto. Bij kleuren wil je wel een foto per kleur.
- Variaties zonder SKU. Bij import en koppelingen met een kassa of groothandel heb je per variatie een SKU nodig (les 3.4).
In de praktijk: zo ziet het eruit in WooCommerce
- Producten > Eigenschappen: maak het attribuut "Gewicht" met de termen 50 g, 100 g en 250 g.
- Producten > Nieuw toevoegen: titel "Sencha Uji", productgegevens Variabel product.
- Tabblad Eigenschappen: voeg "Gewicht" toe, kies alle drie de termen, vink Gebruikt voor variaties aan, sla de eigenschappen op.
- Tabblad Variaties: Variaties genereren (drie variaties), dan met de bulkbewerking de voorraad beheren en per variatie de prijs (€ 6,50, € 11,50, € 24,00), het gewicht en een SKU zoals
SEN-UJI-050. - Kies bij de standaardwaarden 100 g, sla op en bekijk de productpagina in een privévenster.
Andere thema's tonen de keuze als keuzelijst, knoppen of kleurvlakjes; het principe is gelijk.
Samenvatting
- Een variabel product is één productpagina met een variatie per keuze, elk met eigen prijs, voorraad en SKU.
- Gebruik globale attributen voor terugkerende eigenschappen; vink "Gebruikt voor variaties" aan.
- Een variatie zonder prijs is niet te koop.
- Het aantal combinaties groeit snel: maak alleen echte combinaties en let op max_input_vars bij opslaan.
- Echt verschillende producten verkoop je als losse producten.
Quiz
Opdracht
Opdracht A3.2: Je variabele product. Vul het adres van je shop in, de slug of link van een variabel product, het aantal variaties dat in de winkel te koop is, en de attributen die je voor variaties gebruikt (gescheiden door komma's, bijvoorbeeld "Gewicht, Maalgraad"). Het programma zoekt het product op via de openbare Store API (/wp-json/wc/store/v1/products?slug=...), zonder cookies en zonder iets in de winkelwagen te leggen. Groen als het product van het type variabel is, het aantal variaties gelijk is aan wat je invulde, en elk attribuut voorkomt als attribuut dat voor variaties wordt gebruikt. Oranje als het aantal afwijkt (variaties zonder prijs of die uitgeschakeld zijn, telt de winkel niet mee), als een attribuut wel bestaat maar niet voor variaties wordt gebruikt, of ter informatie als je meer dan 30 variaties hebt. Rood als het product niet gevonden wordt, niet variabel is of geen van je attributen heeft.
Vraag voor jezelf (niet nagekeken): hoeveel combinaties zou "Variaties genereren" maken met al je attributen, en hoeveel daarvan verkoop je echt?
Verder lezen
- Variable product (woocommerce.com, Engels): https://woocommerce.com/document/variable-product/
- Managing products (woocommerce.com, Engels): https://woocommerce.com/document/managing-products/
- PHP-versie en PHP-instellingen wijzigen (en wat te doen bij fouten na een upgrade)
De stappen in de kennisbank gelden voor de panelen van WebOké; bij andere aanbieders werkt het vergelijkbaar.
