Elke WordPress-website heeft een thema. Dat is een verzameling bestanden die de site zijn uiterlijk en de functionaliteit geven. Dat is al sinds de oer-versie van WP zo.
Uiteraard waren er mensen die blij waren met hun thema maar er nog een klein dingetje aan wilden veranderen. Alle linkjes in het groen in plaats van blauw, bijvoorbeeld. Dat is technisch goed mogelijk. Het probleem is dan wel dat er van een thema soms een nieuwe versie op de markt kwam. Als die nieuwe versie dan over de oude heen geïnstalleerd werd, waren alle wijzigingen weer verdwenen. Alle linkjes waren weer blauw.
Dat is weer opgelost door het mogelijk te maken dat een WordPress-website een hoofdthema en een subthema heeft. Het hoofdthema is dan de ongerepte versie, rechtstreeks van de bouwer van het thema; en alle wijzigingen zitten in het subthema. Als er een nieuwe versie van het hoofdthema is kun je dat gewoon over de oude versie heen installeren. De wijzigingen blijven dan behouden. Het subthema is geen kopie van het hoofdthema; als WordPress een bestand nodig heeft, kijkt het eerst in het subthema, en als het dat bestand daar niet vindt, gaat het pas naar het hoofdthema.
Child theme
Het maken van een subthema (child theme) is niet zo moeilijk, maar je hebt er wat meer ervaring voor nodig dan voor het gewoon beheren van een WordPress-site. Ook heb je er ander gereedschap en andere wachtwoorden voor nodig. Voor veel website-eigenaren is het nét een te grote hobbel, zeker voor zoiets simpels als de kleur van de tekst. Daarom is er sinds een paar jaar een nieuwe faciliteit in WordPress: “Extra CSS”. Die zit in de “Thema Customizer”. Dat is de ideale plek om kleine wijzigingen aan te brengen zonder meteen een subthema te hoeven bouwen. Die Extra CSS blijft ook netjes bewaard als het thema geupgrade wordt.
Dus als je website-bouwer voorstelt om van een thema uit te gaan, dan verwacht je dat alle wijzigingen óf in een subthema terecht komen, óf in de “Extra CSS”. Maar dat het hoofdthema ongewijzigd blijft.
Stel dat je alle wijzigingen in een subthema zet. Heb jedan zekerheid dat een upgrade van het hoofdthema geen gevolgen heeft voor je website? Helaas niet helemaal. Sommige thema’s spelen vals en leveren upgrades die zo ingrijpend zijn dat het subthema stukloopt. Je kunt een upgrade van het thema niet zomaar terugdraaien. Dan moet je de oude versie van het thema terugzetten uit de backup (die had je toch, hoop ik?) en je website-bouwer vragen de boel op te lossen.
Een stukje van een subthema. Het subthema heet Total Child. De regel “Template: total” vertelt WP dat alle niet-gevonden bestanden opgehaald moeten worden uit het thema “total”. De enige wijziging in dit subthema is het uiterlijk van de tekst in de widgets.