Child theme gebruiken: complete gids voor WordPress
Een child theme houdt aanpassingen aan een WordPress-thema gescheiden van het parent theme. Lees wanneer dat verstandig is, hoe je het inricht en wat het verschil is tussen klassieke en block themes.
Gebruik een child theme als je code, templates of stijlen van een bestaand WordPress-theme duurzaam wilt aanpassen zonder wijzigingen bij een update van het parent theme kwijt te raken. Voor kleine visuele aanpassingen is een child theme vaak niet nodig. Kies dan liever voor de Site Editor, Customizer of aanvullende CSS. De juiste keuze hangt af van het gebruikte theme én het soort wijziging.
Wat is een child theme?
Een child theme is een afzonderlijk WordPress-theme dat afhankelijk is van een bestaand theme: het parent theme. WordPress gebruikt de bestanden in het child theme wanneer die daar aanwezig zijn. Ontbreekt een bestand? Dan valt WordPress terug op het parent theme.
Zo kun je bijvoorbeeld een eigen stylesheet, een aangepaste template of een eigen functie toevoegen, terwijl het parent theme de basis blijft leveren. Je activeert het child theme in WordPress, niet het parent theme.
Pas je bestanden rechtstreeks in het parent theme aan, dan kunnen die wijzigingen bij een theme-update worden overschreven. De WordPress-documentatie adviseert daarom een child theme wanneer je een bestaand theme voor eigen gebruik wilt aanpassen.
Wanneer gebruik je een child theme?
Een child theme is een technische oplossing, geen standaardvereiste voor elke WordPress-website. Beoordeel eerst waar de wijziging thuishoort. Gebruik deze keuzehulp voordat je bestanden gaat maken.
| Situatie | Beste keuze | Waarom | Concrete actie |
|---|---|---|---|
| Je wijzigt alleen kleuren, tussenruimtes of typografie binnen de beschikbare instellingen | Site Editor of Customizer | Geen codebeheer nodig en de wijziging blijft overzichtelijk | Leg de gekozen stijlen vast in de globale stijlinstellingen van het actieve theme |
| Je voegt een beperkte, eigen CSS-regel toe | Aanvullende CSS | Een volledig child theme is hiervoor vaak onnodig | Voeg de regel toe via de daarvoor bedoelde CSS-optie en test op mobiel |
| Je past templates, template parts, patterns, theme.json of themecode structureel aan | Child theme | Je houdt eigen theme-aanpassingen gescheiden van updates van het parent theme | Maak een child theme, plaats alleen de aangepaste bestanden daarin en test op staging |
| Je voegt functionaliteit toe die ook na een theme-wissel moet blijven werken | Plugin of maatwerkplugin | Functionele logica hoort niet vast te zitten aan de vormgeving van één theme | Laat de functie in een plugin ontwikkelen of kies een betrouwbare bestaande plugin |
| Je hebt een afwijkend ontwerp en veel eigen technische eisen | Eigen theme of maatwerk | Een child theme kan dan onnodig afhankelijk en lastig onderhoudbaar worden | Werk met een duidelijke technische scope, design system en ontwikkelworkflow |
Voor een zakelijke website is de onderhoudsvraag belangrijk: blijft een aanpassing begrijpelijk voor de volgende beheerder en werkt deze na updates nog zoals bedoeld? Als dat niet goed te beantwoorden is, kies dan niet automatisch voor een child theme maar onderzoek eerst een plugin of eigen development-oplossing.
Parent theme en child theme: zo werkt de fallback
Een child theme neemt niet automatisch alle bestanden van het parent theme over. WordPress gebruikt een bestand uit het child theme alleen wanneer je dat bestand daar zelf toevoegt. Dat maakt een child theme compact: kopieer uitsluitend wat je werkelijk wilt aanpassen.
- style.css: bevat minimaal de gegevens waarmee WordPress het child theme herkent.
- functions.php: voegt eigen PHP-functionaliteit toe. Het vervangt het functions.php-bestand van het parent theme niet.
- Templates: een template in het child theme kan de overeenkomstige template van het parent theme overschrijven.
- Block-themebestanden: ook
theme.json, templates, template parts en patterns kun je gericht in een child theme aanpassen.
Kopieer dus niet zonder reden de volledige map of het volledige functions.php-bestand van het parent theme. Daarmee maak je onderhoud lastiger en vergroot je de kans dat verbeteringen uit het parent theme jouw website niet meer bereiken.
Child theme maken voor een klassiek theme
Bij een klassiek theme werken veel aanpassingen via PHP-templates, de Customizer en een stylesheet. Volg deze stappen in een stagingomgeving, niet direct op je live website.
- Maak eerst een back-up en een testomgeving. Zorg dat je bestanden en database kunt herstellen. Test wijzigingen op een kopie van de website voordat je ze publiceert.
- Controleer de mapnaam van het parent theme. Die mapnaam heb je nodig voor de
Template-waarde. Dit is niet per se dezelfde tekst als de zichtbare themanaam. - Maak een nieuwe map aan. Plaats die in
/wp-content/themes/. Kies een herkenbare naam, bijvoorbeeldbedrijfsnaam-child. - Voeg een bestand
style.csstoe. Plaats bovenaan minimaal een stylesheet-header. DeTemplate-waarde moet exact overeenkomen met de mapnaam van het parent theme.
/*
Theme Name: Bedrijfsnaam Child
Template: naam-van-parent-theme
*/
- Voeg een
functions.phptoe als je eigen PHP of stylesheets moet laden. Een gangbare aanpak is het laden van de stylesheet van het parent theme en daarna die van het child theme via de WordPress-hookwp_enqueue_scripts.
<?php
add_action( 'wp_enqueue_scripts', 'bedrijfsnaam_child_styles' );
function bedrijfsnaam_child_styles() {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_uri(),
array( 'parent-style' )
);
}
- Activeer het child theme. Ga in WordPress naar Weergave > Thema’s en activeer het nieuwe child theme.
- Controleer de website grondig. Test navigatie, formulieren, mobiele weergave en belangrijke templates. Voeg daarna pas eigen CSS, templatebestanden of functies toe.
Controleer altijd de documentatie van het specifieke parent theme. Sommige themes hebben een eigen aanbevolen methode voor het laden van stylesheets of voor template-aanpassingen.
Child theme gebruiken bij een block theme
Een block theme is ingericht voor de Site Editor en full site editing. De vormgeving en structuur kunnen onder meer worden bepaald door theme.json, HTML-templates, template parts en block patterns. Dat verschilt van een klassiek theme, waar PHP-templatebestanden vaak centraal staan.
Begin bij een block theme altijd met de Site Editor. Veel aanpassingen aan stijlen, headers, footers en templates zijn daar mogelijk zonder code. Wil je die wijzigingen als herbruikbare themabestanden vastleggen of diepgaander aanpassen, dan kan een child theme passend zijn.
- Inventariseer de wijziging. Is het een globale stijl, een template, een template part, een pattern of een instelling in
theme.json? - Maak het child theme. Dit kan handmatig, of met de Create Block Theme-plugin als die past binnen je beheerproces.
- Neem alleen het benodigde onderdeel over. Wil je alleen de footer aanpassen, voeg dan alleen die template part toe in plaats van alle bestanden van het parent theme te kopiëren.
- Leg ontwerpkeuzes vast. Gebruik
theme.jsonvoor consistente instellingen zoals kleuren, typografie en spacing wanneer code de juiste plek is. - Test de fallback. Controleer zowel aangepaste als niet-aangepaste templates, zodat je zeker weet dat het child theme correct terugvalt op het parent theme.
Wat je beter niet in een child theme zet
Niet elke aanpassing hoort bij het theme. Functionaliteit die los moet blijven bestaan als je later van theme wisselt, plaats je beter in een plugin. Denk aan integraties, aangepaste post types, formulieren, bedrijfslogica of een functie die op meerdere plekken in de website nodig is.
Ook voor een enkele CSS-correctie is een child theme vaak zwaarder dan nodig. Houd de oplossing in verhouding tot het probleem. Dat maakt beheer eenvoudiger en vermindert technische schuld.
Veelgemaakte fouten voorkomen
- Rechtstreeks in het parent theme werken: updates kunnen je wijzigingen overschrijven.
- Een verkeerde
Template-waarde gebruiken: WordPress herkent het child theme dan niet goed. Gebruik de mapnaam van het parent theme. - Het volledige
functions.phpkopiëren: voeg alleen je eigen functies toe. Het functions.php-bestand van het child theme wordt naast dat van het parent theme geladen. - Onnodig veel bestanden overnemen: daarmee mis je mogelijk toekomstige verbeteringen in die bestanden van het parent theme.
- Functionele code aan een theme koppelen: bij een toekomstige redesign kan essentiële functionaliteit verdwijnen.
- Zonder testomgeving publiceren: een kleine template- of PHP-fout kan de live website verstoren.
Testen en onderhouden
Een child theme beschermt eigen aanpassingen tegen overschrijven, maar neemt het onderhoud niet weg. Updates van WordPress, plugins en het parent theme kunnen de manier waarop onderdelen samenwerken veranderen. Plan daarom een vaste controle na relevante updates.
- Maak een back-up voordat je updates uitvoert.
- Werk eerst in staging en update daar het parent theme.
- Controleer pagina’s met aangepaste templates, headers, footers en formulieren.
- Bekijk de browserconsole en WordPress-foutmeldingen als er afwijkingen zijn.
- Vergelijk gewijzigde parent-themebestanden met je overrides wanneer een update invloed lijkt te hebben.
- Publiceer pas naar productie nadat de belangrijkste bezoekersroutes zijn getest.
Bij fouten zoals een ontbrekende pagina na een templatewijziging helpt het om ook de statuscodes en redirects te controleren. Lees daarvoor onze gids over 404- en soft-404-fouten.
Praktische checklist
- Ik weet welk parent theme actief is en wat de exacte mapnaam is.
- Ik heb vastgesteld dat Site Editor, Customizer, aanvullende CSS of een plugin niet beter past.
- Ik werk in een testomgeving en beschik over een herstelbare back-up.
- Mijn child theme bevat alleen bestanden die ik echt aanpas.
- Ik houd ontwerpcode en functionaliteit zo veel mogelijk gescheiden.
- Ik heb na activering de belangrijkste pagina’s en formulieren getest.
- Ik controleer het child theme opnieuw na updates van het parent theme.
Veelgestelde vragen
Is een child theme altijd nodig?
Nee. Gebruik een child theme wanneer je een bestaand theme duurzaam in code of themabestanden wilt aanpassen. Voor instellingen in de Site Editor, de Customizer of een beperkte CSS-aanpassing is het vaak niet nodig.
Werkt een child theme met elk WordPress-theme?
WordPress ondersteunt child themes voor klassieke en block themes. De concrete aanpak verschilt per theme. Controleer daarom altijd de documentatie van het actieve parent theme, vooral voor stylesheet- en template-aanpassingen.
Blijft mijn content behouden als ik een child theme activeer?
Berichten, pagina’s en media staan los van het theme en blijven normaal gesproken behouden. De weergave kan wel veranderen als het child theme templates, stijlen of instellingen anders toepast. Test daarom eerst buiten productie.
Wanneer kies ik voor maatwerk in plaats van een child theme?
Kies voor een eigen theme of maatwerkdevelopment als je ontwerp en technische eisen sterk afwijken, als je veel onderdelen moet overschrijven of als je niet afhankelijk wilt blijven van een parent theme. Voor een bredere afweging over ontwerp, techniek en beheer kun je terecht bij strategisch en creatief webdesign van LYNX Media.
Hulp nodig bij een onderhoudbare WordPress-website?
Een child theme is waardevol als het onderdeel is van een doordachte ontwikkel- en onderhoudsaanpak. LYNX Media helpt mkb-bedrijven met websites die verkoop ondersteunen, van strategisch ontwerp tot WordPress-development en optimalisatie. Bekijk onze diensten voor webdesign, SEO en Google Ads of bespreek je website of online groeikansen met LYNX Media.
Bronnen
Bespreek je website of online groeikansen met LYNX Media
Heb je een vraag over dit onderwerp, of wil je weten wat er voor jouw site nodig is? Neem contact op.
Neem contact op
