Oplossingsgids

Hoe installeer je een WordPress child theme (stap voor stap)

20 mei 2026

Een WordPress child theme is een thema dat de styling en functionaliteit erft van een ander thema, het parent theme genoemd. Een child theme activeren vertelt WordPress om de parent te gebruiken voor alles behalve bestanden die het child overschrijft. Het hele punt: wanneer het parent theme door zijn ontwikkelaar wordt bijgewerkt (wat regelmatig gebeurt, vaak met security fixes), overleven jouw aanpassingen onaangetast. Zonder child theme wordt elke aanpassing die je aan een thema maakt bij de volgende update gewist. Met een child theme leven je wijzigingen in een aparte map die updates niet aanraken.

Waarom heb ik een child theme nodig in 2026?

Drie redenen die in vijftien jaar niet zijn veranderd:

  • Parent theme updates overleven. Theme-ontwikkelaars brengen maandelijks of vaker updates uit. Elke update overschrijft elk bestand in de parent theme map. Als je header.php of style.css direct hebt bewerkt, zijn je bewerkingen weg. Een child theme heeft zijn eigen map die updates nooit aanraken.
  • Alleen gerichte bestanden overschrijven. Een child theme kan selectief elk bestand van de parent vervangen. Wil je een aangepaste footer.php? Zet hem in het child theme. Wil je dezelfde footer.php als de parent maar met één CSS-aanpassing? Voeg dan de CSS toe aan de style.css van het child en laat footer.php met rust.
  • Custom PHP toevoegen zonder het thema te forken. De functions.php van het child theme laadt naast die van de parent. Voeg filters, custom post types, verwijderde acties of welke PHP dan ook toe zonder parent-code aan te raken.

De "ik bewerk gewoon de parent"-aanpak breekt de eerste keer dat het thema auto-update, wat op een typische WordPress-site binnen weken gebeurt. Gebruik een child theme.

Wanneer heb ik GEEN child theme nodig?

Drie scenario's waarin een child theme het verkeerde gereedschap is:

  • Als je alleen aanpast via de Customizer of Site Editor. Kleurveranderingen, fontkeuzes en soortgelijke instellingen gemaakt via Weergave, Aanpassen (Klassiek) of de Site Editor (Block themes) worden opgeslagen in de database, niet in themabestanden. Ze overleven updates zonder child theme.
  • Als je alleen custom CSS toevoegt. WordPress heeft een ingebouwd "Aanvullende CSS"-paneel in de Customizer. Kleine CSS-aanpassingen leven daar en blijven bestaan over updates. Een child theme is overkill voor het toevoegen van twee CSS-regels.
  • Als je een block theme (FSE) gebruikt en alleen templates aanpast. Full Site Editing themes slaan template-aanpassingen op in de database, toegankelijk via Weergave, Editor. De behoefte aan een child theme is veel kleiner. Block themes kunnen nog steeds profiteren van een child theme voor custom PHP of theme.json overrides, maar het veelvoorkomende geval van "ik wil het logo verplaatsen en de footertekst veranderen" vereist er niet langer een.

Als je merkt dat je PHP-bestanden, template-bestanden bewerkt of meer dan een paar CSS-regels wilt toevoegen, heb je een child theme nodig. Voor al het andere in 2026 is de Customizer of Site Editor genoeg.

Methode 1: een child theme handmatig installeren (5 minuten)

Het minimale child theme is twee bestanden in een map. Stap voor stap:

Stap 1: maak de child theme map

Verbind via SFTP (of de bestandsmanager in je hosting-paneel) en navigeer naar /wp-content/themes/. Je ziet mappen voor elk geïnstalleerd thema, zoals twentytwentyfour/ of astra/. Maak een nieuwe map ernaast. Naamgevingsconventie: parent-naam plus -child. Als je parent theme Astra is, noem de map astra-child.

Stap 2: maak style.css met de vereiste header

Maak in je nieuwe astra-child map een bestand genaamd style.css. Open het in een teksteditor en voeg dit header-commentaarblok toe:

/*
Theme Name: Astra Child
Theme URI: https://jouwsite.com
Description: Child theme voor Astra
Author: Jouw Naam
Author URI: https://jouwsite.com
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

De Template-regel is de enige die exact moet overeenkomen: het moet de mapnaam van het parent theme zijn (hoofdlettergevoelig). De andere regels kunnen zeggen wat je wilt; ze verschijnen in Weergave, Thema's.

Stap 3: maak functions.php om parent styles te enqueuen

Maak in dezelfde astra-child map functions.php:

<?php
add_action('wp_enqueue_scripts', function () {
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
    wp_enqueue_style('child-style', get_stylesheet_uri(), ['parent-style']);
});

Dit zorgt ervoor dat het stylesheet van het parent theme eerst laadt, dan dat van het child, zodat jouw aanpassingen de parent overschrijven. Zonder dit is het style.css van het child theme leeg en laadt de site zonder styling. Veel oude tutorials raden nog steeds aan om @import url('../astra/style.css'); te gebruiken in het style.css van het child. Gebruik de @import-aanpak niet in 2026. Het is traag (forceert een tweede HTTP-verzoek voordat CSS parst), wordt niet langer aanbevolen door de WordPress codex, en de enqueue-aanpak hierboven is de moderne standaard.

Stap 4: activeer het child theme

Ga naar Weergave, Thema's in de WordPress admin. Je ziet je nieuwe child theme in de lijst (het kan een placeholder-thumbnail tonen). Klik op Activeren. Je site zou er identiek uit moeten zien als voorheen — zelfde fonts, zelfde layout, zelfde kleuren — omdat het child alles van de parent erft.

Als de site er ongestyled uitziet, klopt de enqueue in functions.php niet. Controleer dat de Template:-regel in style.css exact overeenkomt met de naam van de parent-map.

Methode 2: gebruik een child theme plugin (nul codering)

Voor gebruikers die liever geen SFTP aanraken, automatiseren plugins de creatie van child theme. Twee betrouwbare keuzes in 2026:

  • Child Theme Configurator. Gratis, actief onderhouden, de populairste optie. Installeert in twee klikken, maakt het child theme van elke actieve parent, laat je parent-bestanden in het child kopiëren om te bewerken via de admin-UI. De pragmatische keuze voor de meeste gebruikers.
  • Generate Child Theme. Nieuwere plugin specifiek gericht op block themes. Nuttig als je een Full Site Editing theme als Twenty Twenty-Four gebruikt waar de patterns anders zijn.

Plugin-aanpak stappen:

  1. Installeer en activeer de plugin.
  2. Ga naar Gereedschap, Child Themes (Child Theme Configurator) of zijn equivalent.
  3. Selecteer het parent theme.
  4. Klik op "Nieuw Child Theme maken".
  5. De plugin genereert de map, style.css en functions.php correct. Ga naar Weergave, Thema's en activeer.

De plugin kan worden gedeactiveerd na het maken van het child theme. Het child theme zelf is niet afhankelijk van de plugin.

Hoe pas ik het child theme aan zodra het actief is?

Drie categorieën aanpassingen:

CSS-aanpassingen

Voeg CSS-regels toe aan het style.css van het child theme, onder het header-commentaar. De CSS van het child laadt na die van de parent, dus jouw regels overschrijven tenzij de parent !important of selectors met hogere specificiteit gebruikt.

/* In astra-child/style.css */
.site-title {
    font-family: Georgia, serif;
    color: #2c3e50;
}

.entry-content a {
    text-decoration: underline;
}

Template overrides

Om een templatebestand aan te passen (header, footer, single-post layout, enz.), kopieer het bestand van het parent theme naar het child theme op hetzelfde pad. WordPress gebruikt dan de versie van het child in plaats van de parent.

Voorbeeld: footer.php aanpassen:

  1. Kopieer wp-content/themes/astra/footer.php naar wp-content/themes/astra-child/footer.php.
  2. Bewerk de kopie van het child.
  3. Sla op. De volgende pagelaad gebruikt jouw versie.

Block themes zijn anders: in plaats van PHP-templatebestanden gebruiken ze HTML-bestanden in een templates/-map, en theme.json voor globale stijlen. Het override-mechanisme is hetzelfde; kopieer het bestand van de parent naar het child op hetzelfde relatieve pad.

PHP-aanpassingen

Voeg filters, acties of custom code toe aan het functions.php van het child — nooit aan dat van de parent. De functions.php van het child laadt voor die van de parent, dus het kan filters registreren die de parent later controleert.

// In astra-child/functions.php

// Verander de WordPress login logo URL
add_filter('login_headerurl', function () {
    return home_url();
});

// Schakel WordPress emojis uit
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

Hoe verplaats ik mijn Customizer-instellingen naar het child theme?

Veelvoorkomend pijnpunt: je hebt kleuren, fonts en widgets ingesteld in de Customizer onder het parent theme. Het activeren van het child theme lijkt ze te resetten.

De waarheid: Customizer-instellingen worden per thema opgeslagen. Elk thema (parent en child zijn verschillende "thema's" voor WordPress) heeft zijn eigen instellingen. Om je instellingen te behouden:

  1. Onder het parent theme, ga naar Weergave, Aanpassen, klik op het tandwielicoon en "Exporteren" (sommige thema's bieden dit; niet allemaal). Of gebruik een plugin als Customizer Export/Import.
  2. Activeer het child theme.
  3. Ga terug naar de Customizer en importeer het bestand.

Als je thema geen Customizer-export ondersteunt, is het alternatief om dezelfde instellingen handmatig onder het child theme te configureren. Voor widgets biedt WordPress 4.2+ een "Widget Importer & Exporter" workflow via het Gereedschap-menu of via plugins als Widget Importer Exporter.

Hoe zit het met block themes (Full Site Editing)?

Voor block themes (Twenty Twenty-Two en later, en moderne thema's gebouwd op FSE) is de child theme structuur iets anders. De minimaal twee bestanden worden:

  • style.css met hetzelfde header-blok, maar Template: parent-theme-map verwijzend naar het parent block theme.
  • theme.json in de child map. Dit bestand overschrijft het theme.json van de parent. Voeg alleen de instellingen toe die je wilt veranderen; de waarden van de parent worden voor de rest gebruikt.

Je kunt ook templates overschrijven door HTML-templatebestanden van de parent uit templates/ en parts/ in het child theme te kopiëren op hetzelfde pad.

De Full Site Editor in de WordPress admin kan child theme overrides lezen en laat je templates visueel aanpassen. Aanpassingen gemaakt in de editor worden opgeslagen in de database en overleven thema-updates; je hebt het child theme alleen nodig voor dingen die je niet via de editor kunt configureren (zoals custom PHP in functions.php).

Veelvoorkomende fouten bij het installeren van een child theme

  • Verkeerde Template: naam in style.css. Als de waarde niet exact overeenkomt met de mapnaam van het parent theme (hoofdlettergevoelig), behandelt WordPress het child als een kapot thema. De mapnaam, niet de weergavenaam, telt.
  • Vergeten <?php bovenaan functions.php. Het bestand wordt stilzwijgend als tekst behandeld, parent styles worden niet enqueued, en de site laadt ongestyled. Begin PHP-bestanden altijd met <?php.
  • @import gebruiken in style.css om parent CSS te laden. Werkt maar traag en ontmoedigd. Gebruik de wp_enqueue_style-aanpak in functions.php.
  • Elk parent-bestand naar het child kopiëren "voor de zekerheid". Doe dat niet. Kopieer alleen bestanden die je daadwerkelijk wilt overschrijven. Bestanden in het child die overeenkomen met de parent zullen de child-versie gebruiken; bestanden alleen in de parent zullen de parent-versie gebruiken. Bulk-kopiëren verslaat het onderhoudsvoordeel van een child theme.
  • Het child theme bewerken op een live site zonder staging. Eén slechte regel in functions.php zet de site op white screen. Voor niet-triviale PHP-bewerkingen, gebruik een staging-omgeving of in elk geval een code-snippet plugin die PHP-fouten vangt voor het opslaan.
  • De child theme map met spaties benoemen. Blijf bij kleine letters en koppeltekens. Spaties en speciale tekens breken de Template: referentie op sommige servers.
  • Van parent theme wisselen zonder het child te verwijderen. Een child theme verwijst naar zijn parent op naam. Als je naar een ander parent theme wisselt zonder het child bij te werken, wordt het child kapot. Verwijder ofwel het child of werk zijn Template: regel bij.

Hoe update ik een parent theme zonder het child te breken?

Dit is het hele punt van een child theme: parent updates zouden het niet moeten breken. Drie scenario's:

  • Normale updates. Klik op "Bijwerken" in de admin. De parent theme map wordt vervangen; de child map wordt niet aangeraakt. Verifieer dat de site er nog steeds goed uitziet.
  • Grote versie-updates (1.x naar 2.x). Soms veranderen templates aanzienlijk. Als je child theme templates overschrijft, kan het override nu verwijzen naar functies of hooks die niet meer bestaan. Controleer de changelog van het parent theme voor grote updates. Test op staging.
  • Parent theme verlaten. Als de parent geen updates meer krijgt (security fixes), zit je child vast op een kwetsbaar thema. De migratie is naar een onderhouden parent theme. Het child theme maakt dit makkelijker omdat het meeste van je custom CSS en PHP hergebruikt kan worden; alleen template overrides moeten opnieuw worden gedaan.

Waar kan ik vinden welke themabestanden te overschrijven?

De template-hiërarchie van WordPress documenteert welk bestand geladen wordt voor welk type content. Veelvoorkomende:

  • header.php — bovenkant van elke pagina
  • footer.php — onderkant van elke pagina
  • single.php — single blog post layout
  • page.php — single pagina layout
  • archive.php — categorie/tag/auteur archieven
  • functions.php — PHP-aanpassingen
  • style.css — CSS

Voor block themes leven de equivalenten in templates/ als .html-bestanden en in theme.json voor styling.

Wat InspectWP controleert

InspectWP detecteert of een thema een child theme is via het Template: veld in style.css. De WordPress-sectie van het rapport lijst zowel het parent als het child theme, met versies en laatste update-datums. Een site die een child theme draait met een parent die meer dan een jaar niet is bijgewerkt, wordt gemarkeerd omdat de parent waarschijnlijk niet-gepatchte kwetsbaarheden heeft. Een site met een verouderd child theme op een up-to-date parent is informatief; het betekent meestal dat de ontwikkelaar die de site opzette gestopt is met het onderhouden van het child maar de parent blijft security fixes ontvangen via de parent-onderhouder. De pragmatische aanbeveling is om beide bij te werken, de aanpassingen van het child theme in zijn style.css header te documenteren, en child themes te verkiezen boven directe bewerkingen zelfs op managed-hosting setups waar automatische thema-updates gebruikelijk zijn.

Controleer nu uw WordPress-site

InspectWP analyseert uw WordPress-site op beveiligingsproblemen, SEO-problemen, GDPR-naleving en prestaties — gratis.

Analyseer uw site gratis