Wat Is een WordPress Child Theme?
Een WordPress child theme is een thema dat de functionaliteit, kenmerken en styling van een ander thema, het zogenaamde parent theme, overneemt. In plaats van de bestanden van het parent theme direct te wijzigen, breng je je wijzigingen aan in het child theme. Dit behoudt je aanpassingen wanneer het parent theme updates ontvangt, zodat je geen uren zorgvuldig werk verliest.
Zie het zo: het parent theme biedt de basis, en het child theme voegt je aanpassingen daar bovenop toe. WordPress laadt eerst het child theme en valt dan terug op het parent theme voor alles wat niet is overschreven. Dit erfgoedmodel is een van de meest praktische architectonische beslissingen van WordPress.
Waarom Zou Je een Child Theme Moeten Gebruiken?
Het gebruik van een child theme wordt beschouwd als een standaardpraktijk onder WordPress-ontwikkelaars, en dat is niet zonder reden. Hier zijn de belangrijkste voordelen:
- Update veiligheid: Updates van het parent theme overschrijven je aanpassingen niet. Je code bevindt zich in een aparte map die tijdens updates onaangetast blijft.
- Georganiseerde workflow: Al je aanpassingen blijven op één plek, waardoor het eenvoudig is om bij te houden wat je hebt veranderd en waarom.
- Eenvoudige terugrol: Als een aanpassing problemen veroorzaakt, kun je eenvoudig het child theme deactiveren en onmiddellijk terugkeren naar het parent theme.
- Leren: Het bouwen van een child theme leert je hoe WordPress-thema's werken zonder de druk om er een helemaal zelf te bouwen.
- Versiebeheer vriendelijk: Je kunt alleen je child theme naar Git committen, waardoor je repository schoon en gefocust blijft op je wijzigingen.
Child Theme vs. WordPress Customizer: Wanneer Elk Te Gebruiken
WordPress biedt verschillende manieren om de uitstraling van je site aan te passen. Begrijpen wanneer je een child theme versus de ingebouwde Customizer moet gebruiken, helpt je de juiste aanpak voor elke situatie te kiezen.
| Kenmerk | Child Theme | WordPress Customizer |
|---|---|---|
| Code wijzigingen (PHP) | Volledig ondersteund | Niet ondersteund |
| Template overschrijvingen | Volledig ondersteund | Niet ondersteund |
| CSS aanpassingen | Aangeraden voor grote wijzigingen | Geschikt voor kleine aanpassingen |
| Overleeft thema-updates | Ja | Ja (indien thema-opties worden gebruikt) |
| Technische vaardigheden vereist | Basiskennis PHP/CSS | Geen codering nodig |
| Live voorbeeld | Vereist handmatige verversing | Ingebouwde live voorbeeld |
| Prestatie-impact | Verwaarloosbaar | Verwaarloosbaar |
Gebruik de Customizer wanneer je eenvoudige kleurwijzigingen, lettertype-aanpassingen of logo-upload nodig hebt. Gebruik een child theme wanneer je templatebestanden moet wijzigen, aangepaste functies wilt toevoegen of structurele wijzigingen aan je lay-out wilt aanbrengen.
Hoe Maak Je Handmatig een Child Theme
Het maken van een child theme vereist slechts twee bestanden: style.css en functions.php. Hier is een stapsgewijze handleiding.
Stap 1: Maak de Child Theme Map
Verbind met je WordPress-installatie via FTP of je hosting-bestandsbeheerder. Navigeer naar wp-content/themes/ en maak een nieuwe map aan. De naamgevingsconventie is parent-theme-name-child. Als je parent theme bijvoorbeeld Astra is, noem je de map astra-child.
Stap 2: Maak style.css
Maak binnen je nieuwe map een bestand aan met de naam style.css met de volgende header:
/*
Theme Name: Astra Child
Theme URI: https://yoursite.com
Description: Child theme voor Astra
Author: Jouw Naam
Template: astra
Version: 1.0.0
*/
De Template regel is cruciaal. Deze moet exact overeenkomen met de naam van de map van het parent theme (niet de weergavenaam). Controleer wp-content/themes/ om de exacte mapnaam te bevestigen.
Stap 3: Maak functions.php
Maak een functions.php bestand dat de stijlen van het parent en child theme correct inlaadt:
<?php
function child_theme_enqueue_styles() {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_directory_uri() . '/style.css',
array('parent-style'),
wp_get_theme()->get('Version')
);
}
add_action('wp_enqueue_scripts', 'child_theme_enqueue_styles');
Deze aanpak zorgt ervoor dat de stylesheet van het parent theme eerst wordt geladen, gevolgd door de stijlen van je child theme, waardoor de juiste cascadevolgorde behouden blijft.
Stap 4: Activeer het Child Theme
Ga naar Weergave > Thema's in je WordPress-dashboard. Je zou je child theme moeten zien staan. Klik op Activeren. Je site zou er identiek uit moeten zien als voorheen, omdat het child theme alles van het parent theme overneemt.
Een Plugin Gebruiken om Child Themes te Maken
Als je een no-code benadering verkiest
Als je een no-code benadering verkiest, kunnen verschillende plugins kindthema's voor je genereren. De meest gebruikte optie is de Child Theme Configurator plugin. Hier is hoe het werkt:
- Installeer en activeer de Child Theme Configurator plugin vanuit Plugins > Nieuwe toevoegen.
- Navigeer naar Tools > Child Themes.
- Selecteer je parent theme uit de dropdown.
- Klik op Analyseren om te controleren op mogelijke problemen.
- Klik op Nieuwe Child Theme Aanmaken.
- De plugin genereert alle vereiste bestanden en kopieert optioneel widget- en menu-instellingen.
Deze methode is sneller, maar geeft je minder controle over de initiële setup. Voor productiesites is het begrijpen van het handmatige proces waardevol, omdat het je helpt problemen op te lossen die later kunnen ontstaan.
Veelvoorkomende Aanpassingen in een Kindthema
Wanneer je kindthema actief is, kun je beginnen met het aanbrengen van wijzigingen. Hier zijn de meest voorkomende aanpassingsscenario's.
Templatebestanden Overschrijven
Om een templatebestand te wijzigen, kopieer je het van de parent theme directory naar je kindthema directory, waarbij je dezelfde mappenstructuur behoudt. Bijvoorbeeld, om de enkele bericht template aan te passen:
- Zoek
single.phpin de map van je parent theme. - Kopieer het naar de map van je kindthema.
- Bewerk de kopie in je kindthema.
WordPress zal automatisch de versie van het kindthema gebruiken in plaats van die van de parent.
Aangepaste CSS Toevoegen
Voeg je CSS-regels toe aan het style.css bestand van het kindthema, onder de headeropmerking. Aangezien de stylesheet van het kindthema na die van de parent wordt geladen, hebben jouw regels voorrang:
/* Aangepaste header achtergrond */
.site-header {
background-color: #2c3e50;
padding: 20px 0;
}
/* Pas de grootte van de berichttitel aan */
.entry-title {
font-size: 2rem;
line-height: 1.3;
}
Aangepaste Functies Toevoegen
Het functions.php bestand van het kindthema draait naast dat van de parent (niet in plaats van). Je kunt aangepaste shortcodes, widgetgebieden, berichttypen toevoegen of bestaand gedrag wijzigen met behulp van WordPress hooks:
// Voeg een aangepast widgetgebied toe
function child_register_sidebar() {
register_sidebar(array(
'name' => 'Aangepaste Sidebar',
'id' => 'custom-sidebar',
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
));
}
add_action('widgets_init', 'child_register_sidebar');
Header en Footer Aanpassen
Kopieer header.php of footer.php van het parent theme naar je kindthema, en wijzig ze vervolgens. Zo voeg je aangepaste navigatie-elementen, tracking scripts of structurele wijzigingen toe aan deze kritieke gebieden.
Wanneer GEEN Kindthema te Gebruiken
Kindthema's zijn niet altijd de juiste oplossing. Hier zijn scenario's waarin alternatieven meer zinvol zijn:
- Kleine CSS-aanpassingen: Voor een paar regels CSS, gebruik de sectie Extra CSS van de Customizer. Een kindthema creëren voor drie CSS-regels voegt onnodige complexiteit toe.
- Functionaliteit toevoegingen: Als je functies toevoegt die niet gerelateerd zijn aan het thema (aangepaste berichttypen, shortcodes, integraties), gebruik dan in plaats daarvan een aangepaste plugin. Dit houdt je functionaliteit thema-onafhankelijk.
- Pagina-bouwer sites: Als je volledig bouwt met Elementor Pro of vergelijkbare pagina-bouwers, vinden de meeste aanpassingen binnen de bouwer plaats. Een kindthema voegt hier weinig waarde toe.
- Starter thema's: Als je een volledig aangepast ontwerp bouwt, begin dan met een starter thema zoals Underscores (_s) of gebruik een framework. Een kindthema impliceert dat je het ontwerp van de parent wilt behouden.
Een Parent Theme Kiezen voor Je Kindthema
Niet alle parent themes werken even goed voor de ontwikkeling van kindthema's. Zoek naar thema's die goed gecodeerd zijn, regelmatig worden bijgewerkt en zijn ontworpen met uitbreidbaarheid in gedachten. Twee populaire keuzes zijn:
- Astra Pro: Bekend om zijn lichte codebasis, uitgebreide hooksysteem en duidelijke documentatie voor ontwikkelaars van kindthema's. Astra biedt tientallen actie- en filterhooks specifiek voor de aanpassing van kindthema's.
- GeneratePress Premium: Biedt een schone, goed gestructureerde codebasis met modulaire componenten. Het Hook-systeem maakt het mogelijk om inhoud op verschillende punten in te voegen zonder templatebestanden te overschrijven.
Beide thema's behouden de achterwaartse compatibiliteit bij updates, wat essentieel is bij het bouwen van kindthema's die in de loop van de tijd stabiel moeten blijven.
Problemen met Kindthema's Oplossen
Zelfs ervaren ontwikkelaars stuiten op problemen met kindthema's. Hier zijn oplossingen voor de meest voorkomende problemen:
| Probleem | Waarschijnlijke Oorzaak | Oplossing |
|---|---|---|
| Probleem | Oorzaak | Oplossing |
| Witte scherm na activatie | PHP-syntaxisfout in functions.php | Toegang tot bestanden via FTP en controleren op typfouten, ontbrekende puntkomma's of niet-gesloten haakjes |
| Stijlen worden niet toegepast | Onjuiste volgorde van enqueue of ontbrekende bovenliggende stijl | Controleer de wp_enqueue_style afhankelijkhedenarray |
| Template overschrijving werkt niet | Verkeerde bestandsnaam of pad | Zorg ervoor dat het bestands pad in het kindthema exact de structuur van het bovenliggende thema weerspiegelt |
| Thema verschijnt niet in dashboard | Onjuiste Template-waarde in style.css | Controleer of de Template overeenkomt met de naam van de bovenliggende directory (hoofdlettergevoelig) |
| Functies draaien twee keer | Zowel bovenliggend als kind definiëren dezelfde functie | Gebruik function_exists() controles of verschillende functienamen |
Referentie voor de mapstructuur van het kindthema
Een goed georganiseerd kindthema volgt deze structuur:
your-theme-child/
├── style.css (vereist - thema header + aangepaste CSS)
├── functions.php (vereist - enqueue stijlen + aangepaste functies)
├── screenshot.png (optioneel - thema miniatuur)
├── header.php (optioneel - header overschrijving)
├── footer.php (optioneel - footer overschrijving)
├── single.php (optioneel - enkele post overschrijving)
├── page.php (optioneel - pagina overschrijving)
├── template-parts/ (optioneel - gedeeltelijke overschrijvingen)
│ └── content-single.php
├── assets/ (optioneel - aangepaste assets)
│ ├── css/
│ ├── js/
│ └── images/
└── woocommerce/ (optioneel - WooCommerce overschrijvingen)
└── single-product.php
Voor meer informatie over het selecteren van een bovenliggend thema, zie onze gids over hoe je een WordPress-thema kiest in 2026. Als je hulp nodig hebt bij het installeren van een thema voordat je een kindthema maakt, bekijk dan onze tutorial voor het installeren van een WordPress-thema.
Voor meer details, raadpleeg de officiële documentatie: Child Themes Documentatie, Thema Handboek.
Veelgestelde Vragen
Verlies ik mijn aanpassingen aan het kindthema wanneer ik WordPress zelf update?
Nee. Updates van de WordPress-kern hebben geen invloed op thema's. Je kindthema en het bovenliggende thema blijven in hun respectieve directories onder wp-content/themes/. Alleen updates van het bovenliggende thema kunnen mogelijk compatibiliteitsproblemen veroorzaken, maar je kindthema-bestanden blijven onaangeroerd.
Kan ik een kindthema van een kindthema hebben (kleinkindthema)?
WordPress ondersteunt van nature geen kleinkindthema's. Een kindthema kan alleen erven van een bovenliggend thema, niet van een ander kindthema. Als je meerdere lagen van aanpassing nodig hebt, gebruik dan een combinatie van het kindthema en aangepaste plugins.
Zal een kindthema mijn website vertragen?
De prestatie-impact van een kindthema is verwaarloosbaar. WordPress laadt een extra style.css en functions.php bestand, wat een fractie van een milliseconde toevoegt aan de laadtijd van de pagina. De overhead is niet meetbaar onder reële omstandigheden.
Kan ik een kindthema gebruiken met elk WordPress-thema?
Technisch gezien ja, maar sommige thema's werken betrouwbaarder met kindthema's dan andere. Thema's die de WordPress-coderingsstandaarden volgen en gebruik maken van juiste haaksystemen zijn gemakkelijker uit te breiden. Thema's die sterk afhankelijk zijn van hardcoded paden of eigen frameworks kunnen onverwacht gedrag veroorzaken.
Hoe migreer ik een kindthema van een staging-site naar productie?
Kopieer de hele map van het kindthema van wp-content/themes/your-child-theme/ naar dezelfde locatie op je productie-server. Activeer het vervolgens vanuit het WordPress-dashboard. Als je kindthema specifieke URL's verwijst, werk die dan bij na de migratie.
Moet ik een kindthema gebruiken met een starterthema zoals Underscores?
Starterthema's zoals Underscores zijn ontworpen om direct te worden aangepast. Ze zijn bedoeld als startpunten voor aangepaste thema's, niet als bovenliggende thema's voor kindthema's. Pas ze direct aan en volg wijzigingen met versiebeheer in plaats daarvan.
Wat gebeurt er als ik het bovenliggende thema deactiveer?
Als het bovenliggende thema wordt gedeactiveerd of verwijderd, zal het kindthema breken. WordPress kan een kindthema niet laden zonder zijn bovenliggende thema. Houd altijd het bovenliggende thema geïnstalleerd, zelfs als je alleen het kindthema gebruikt.
Bouw op een Solide Basis
Astra Pro biedt uitgebreide ondersteuning voor hooks en een schone code-architectuur, waardoor het een betrouwbaar bovenliggend thema is voor je kindthema-projecten.
Ontdek Astra Pro →


