Wat is een childthema en wanneer heb je er één nodig?

Een childthema bouwen houdt letterlijk heel weinig in, toch hebben veel WordPress gebruikers geen idee over het nut of de werking hiervan. In deze blogpost leer je hoe je er één bouwt, wat de voor- én de nadelen zijn en tevens leg ik je ook uit of je er echt wel één nodig hebt.

Een WordPress childthema bouwen houdt letterlijk heel weinig in, toch hebben veel WordPress gebruikers geen idee over het nut of de werking hiervan. In deze blogpost leer je hoe je er één bouwt, wat de voor- én de nadelen zijn en tevens leg ik je ook uit of je er echt wel één nodig hebt.

Waarom?

Childthema’s in één zin: ‘Een childthema erft de functionaliteit en de opmaak van het hoofdthema(parent)’. Wil je dus de werking van het thema lichtjes wijzigen heb je een childthema nodig. Het grootste voordeel is het behouden van je werk wanneer er een update van het thema wordt geïnstalleerd. Vaak gaan eigenaars direct aan de slag in het hoofdthema, voeren zonder nadenken een update uit en zijn ze de aanpassingen bij gevolg kwijt.

TIP Heb je enkel uiterlijke wijzigingen nodig aan de hand van CSS code? Ga aan de slag in de Customizer en stop je CSS code in het ‘Extra CSS’ veld. Zo heb je geen childthema nodig.

Hoe maak je een childthema?

Toch een childthema nodig? In de kern heeft een childthema maar 2 bestanden nodig. Namelijk een style.css en een functions.php. Hieronder een voorbeeld van een style.css bestand:

/*
Theme Name: Jerrix.BE
Theme URI: https://jerrix.be
Description: Childtheme voor jerrix.be
Author: Jeroen Rotty
Author URI: https://jerrix.be
Template: latest
Version: 1.2.3
*/

.hero-posts .post:hover { 
cursor: default; 
}

Het stukje commentaar boven is de vereiste inhoud, waar je je thema naam, beschrijving, auteursnaam en link en meer instelt. De belangrijkste regel is ‘Template: slug’. Hier verwijs je naar het hoofdthema en moet de juiste benaming worden ingevuld.

Als tweede bestand hebben we functions.php om op de correcte manier de CSS stijlen te laden of enqueuen.Gebruik dus niet meer de oude methode @import. Ook extra functionaliteit komt hier in te staan.

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
 
    $parent_style = 'parent-style'; 

   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')
    );
}

Met deze twee bestanden heb je al een werkend childthema. Plaats deze bestanden in een aparte map onder /wp-content/themes. Daarna kun je via Weergave > Thema’s het childthema terugvinden en activeren.

En nu?

We hebben nu een werkend childthema, maar hebben de eigenlijke werking van het hoofdthema nog niet gewijzigd. De aanpassingen die je dus nodig hebt in de functionaliteit van je thema, moet nu worden voorzien in map van het childthema. Je kopieert dus het bestand waar wijzigingen in moeten komen op de identieke plek in de map. Stel dat je bvb. een template bestand wil wijzigen die in templates\page-full-width.php zit, moet er ook een templates map worden aangemaakt binnen de map van het childthema.

Nadelen

Bij grotere updates van thema’s kan het gebeuren dat de code drastisch wordt herschreven, zodanig dat je bestand in het childthema niet meer functioneert. Controleer dan ook altijd je website na een thema-update. Denk niet dat er nooit iets kan mislopen omdat je net een childthema in gebruik hebt!

Succes! Heb je nog specifieke vragen? Stel ze hieronder in een reactie…

Geef een reactie