Ga naar inhoud
WordPress Child Themes: Wat ze zijn en hoe je er een maakt

WordPress Child Themes: Wat ze zijn en hoe je er een maakt

Can BayarCan BayarBijgewerkt op: 12 min leestijd635 weergaven

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.

KenmerkChild ThemeWordPress Customizer
Code wijzigingen (PHP)Volledig ondersteundNiet ondersteund
Template overschrijvingenVolledig ondersteundNiet ondersteund
CSS aanpassingenAangeraden voor grote wijzigingenGeschikt voor kleine aanpassingen
Overleeft thema-updatesJaJa (indien thema-opties worden gebruikt)
Technische vaardigheden vereistBasiskennis PHP/CSSGeen codering nodig
Live voorbeeldVereist handmatige verversingIngebouwde live voorbeeld
Prestatie-impactVerwaarloosbaarVerwaarloosbaar

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:

  1. Installeer en activeer de Child Theme Configurator plugin vanuit Plugins > Nieuwe toevoegen.
  2. Navigeer naar Tools > Child Themes.
  3. Selecteer je parent theme uit de dropdown.
  4. Klik op Analyseren om te controleren op mogelijke problemen.
  5. Klik op Nieuwe Child Theme Aanmaken.
  6. 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:

  1. Zoek single.php in de map van je parent theme.
  2. Kopieer het naar de map van je kindthema.
  3. 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:

ProbleemWaarschijnlijke OorzaakOplossing
ProbleemOorzaakOplossing
Witte scherm na activatiePHP-syntaxisfout in functions.phpToegang tot bestanden via FTP en controleren op typfouten, ontbrekende puntkomma's of niet-gesloten haakjes
Stijlen worden niet toegepastOnjuiste volgorde van enqueue of ontbrekende bovenliggende stijlControleer de wp_enqueue_style afhankelijkhedenarray
Template overschrijving werkt nietVerkeerde bestandsnaam of padZorg ervoor dat het bestands pad in het kindthema exact de structuur van het bovenliggende thema weerspiegelt
Thema verschijnt niet in dashboardOnjuiste Template-waarde in style.cssControleer of de Template overeenkomt met de naam van de bovenliggende directory (hoofdlettergevoelig)
Functies draaien twee keerZowel bovenliggend als kind definiëren dezelfde functieGebruik 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 →

Veelgestelde vragen

Heb ik een child theme nodig als ik alleen de Customizer gebruik?
Als je aanpassingen beperkt zijn tot opties die beschikbaar zijn in de WordPress Customizer (kleuren, lettertypen, menu's, widgets), is een child theme niet strikt noodzakelijk. De Customizer slaat instellingen op in de database, die behouden blijft tijdens thema-updates.
Zal een child theme mijn website vertragen?
Een goed aangemaakt child theme voegt verwaarloosbare overhead toe. Het laadt één extra klein CSS-bestand en een functions.php-bestand. De impact op de prestaties is in de praktijk niet meetbaar.
Kan ik een child theme maken voor elk WordPress-thema?
Ja, je kunt een child theme maken voor elk WordPress-thema. Sommige thema's zoals Divi en Avada hebben echter hun eigen aanpassingssystemen die child themes minder noodzakelijk kunnen maken. Controleer de themadocumentatie voor specifieke aanbevelingen.
Wat gebeurt er met mijn child theme als ik het parent theme wijzig?
Je child theme is gekoppeld aan een specifiek parent theme. Als je overschakelt naar een ander parent theme, werkt het child theme niet meer. Je moet een nieuw child theme maken op basis van het nieuwe parent theme en je aanpassingen migreren.
Hoe update ik een parent theme zonder de wijzigingen van het child theme te verliezen?
Dat is precies wat child themes oplossen. Wanneer je het parent theme bijwerkt, worden alleen de bestanden van het parent theme vervangen. Je child theme-bestanden blijven onaangeroerd en je aanpassingen worden automatisch bewaard.

Dit bericht delen

Over de Auteur

Can Bayar
Can Bayar

WordPress-expert

Senior WordPress-ontwikkelaar met meer dan 10 jaar ervaring in plugin- en thema-ontwikkeling. Gespecialiseerd in WooCommerce, Elementor en prestatieoptimalisatie.

WordPressWooCommerceElementorPHPJavaScriptPrestatieoptimalisatie

Blijf op de Hoogte

Ontvang de nieuwste WordPress-tips en tutorials in uw inbox.