← Terug naar blog

Wat is een child theme? En waarom je nooit rechtstreeks in je thema aanpast

Drie matroesjka-poppen van groot naar klein op een rij

Het is een klassieker onder de WordPress-ongelukken. Je (of je neefje, of een vorige bouwer) past wat aan in de bestanden van het thema — een kleurtje in de stylesheet, een stukje PHP in de footer. Alles werkt naar wens, maandenlang. Dan verschijnt er een thema-update, je klikt op bijwerken, en álle aanpassingen zijn weg. Geen bug, geen hack: zo horen updates te werken. Een update vervangt simpelweg de themabestanden — inclusief die van jou. Precies voor dit probleem bestaat het child theme.

Hoe een child theme werkt

Een child theme is een minithema dat bovenop je eigenlijke thema (het “parent”) draait. Het bevat alleen jouw afwijkingen; voor al het overige valt WordPress automatisch terug op het parent-thema. Vraagt WordPress een bestand op, dan kijkt het eerst in het child theme — staat daar een eigen versie, dan wint die. Het resultaat: het parent-thema kan gewoon updates blijven ontvangen (belangrijk, want ook thema’s krijgen beveiligingsfixes), terwijl jouw aanpassingen veilig in hun eigen mapje staan en elke update overleven. Je krijgt dus het beste van twee werelden: een up-to-date thema én blijvend maatwerk.

Wanneer heb je een child theme nodig — en wanneer niet?

Niet elke aanpassing rechtvaardigt er een. Kleuren, lettertypen en veel indelingsopties regel je gewoon in de Customizer of de instellingen van je thema — die staan in de database en overleven updates vanzelf. Ook een kort stukje extra CSS kan prima in het veld “Aanvullende CSS”. Een child theme wordt nodig zodra je aan bestánden wilt zitten: templates aanpassen (bijvoorbeeld de opbouw van een productpagina of blogbericht), eigen PHP-functies toevoegen aan functions.php, of structureel meer CSS kwijt wilt dan een los veldje netjes aankan. Vuistregel: instellingen in het thema zelf → geen child theme nodig; wijzigingen aan themabestanden → altijd een child theme.

Zo ziet een child theme eruit

  • Een eigen map in wp-content/themes, naast het parent-thema.
  • Een style.css met bovenin een commentaarblok dat het parent-thema aanwijst (de regel “Template: themanaam”) — dit is wat het een child theme máákt.
  • Een functions.php die de stylesheet van het parent-thema netjes blijft laden en waar jouw eigen functies bij kunnen. Anders dan andere bestanden vervángt deze het origineel niet: beide functions.php-bestanden draaien, die van het child eerst.
  • Alleen de templatebestanden die je echt wijzigt — gekopieerd uit het parent-thema en dan aangepast. De rest laat je weg.

Activeer daarna het child theme onder Weergave → Thema’s. Controleer wel even je Customizer-instellingen en menu’s: die hangen aan het actieve thema en moeten na de overstap soms opnieuw gekoppeld worden. Zet je een child theme op een bestaande, drukbezochte site in, test de overstap dan eerst op een staging-omgeving.

De grens van het child theme

Een eerlijke kanttekening: een child theme beschermt tegen updates, maar niet tegen wildgroei. Wie in de loop der jaren tientallen overschreven templates verzamelt, merkt dat grote parent-updates alsnog handwerk vragen — jouw kopieën ontvangen de vernieuwingen immers niet. Aanpassingen die niet aan de vormgeving maar aan functionaliteit raken (een koppeling, een eigen formulierverwerking), horen bovendien niet in je thema thuis maar in een kleine eigen plugin: dan blijven ze ook werken als je ooit van thema wisselt. En groeit de stapel maatwerk echt, dan is een volledig eigen thema vaak schoner dan een child theme vol uitzonderingen.

Conclusie

Pas nooit rechtstreeks bestanden van je thema aan — de eerstvolgende update wist je werk. Zet voor bestandswijzigingen een child theme op: een lichte laag met alleen jouw afwijkingen, terwijl het parent-thema veilig kan blijven updaten. Houd het slank, stop functionaliteit in een eigen plugin, en je site blijft jaren aanpasbaar én up-to-date tegelijk.

← Terug naar blog