Home / WordPress / WordPress child theme maken

WordPress child theme maken

WordPress child theme maken

De woorden “WordPress child theme” klinken in eerste instantie misschien wat vreemd als je ergens leest dat je dit moet maken voor het thema dat je gebruikt op je website.

Moet je nou een compleet nieuw thema maken terwijl je alleen een klein dingetje wilt aanpassen aan je huidige thema?

Ik kan je verzekeren dat het echt allemaal wat ingewikkelder klinkt dan het daadwerkelijk is.

In dit artikel zal ik je vertellen wat een WordPress child theme is, waarom het handig is om het te gebruiken en hoe je een child theme kunt maken.

Wat is een WordPress child theme?

In eenvoudige woorden is een WordPress child theme een speciaal thema dat de functionaliteiten en design van een ander WordPress thema (hoofd thema) kopieert.

Je vraagt je nu misschien af wat het nut hiervan is, je hebt dan toch gewoon hetzelfde thema? Klopt, maar de belangrijkste reden (en tevens voordeel) om een child theme te gebruiken is om te voorkomen dat je de wijzigingen die je maakt kwijtraakt.

Dit komt namelijk regelmatig voor bij mensen die wijzigingen in de code aanbrengen in het hoofd thema. Bij een thema update worden alle bestanden overschreven, dus ook de aangepaste bestanden, en moeten de wijzigingen opnieuw doorgevoerd worden.

Het is geen pretje om keer op keer de wijzigingen opnieuw door te moeten voeren. Zeker niet als je dit na een half jaar moet doen en je niet genoteerd hebt welke wijzigingen je allemaal gedaan had.

Verder is een child theme ook een mooie manier om dingen uit te testen zonder de originele code aan te passen in het hoofd thema en kun je natuurlijk ook de functionaliteiten uitbreiden als je hier behoefte aan hebt.

Kort gezegd kun je dus met een child theme wijzigingen aanbrengen in het hoofd thema zonder dat deze wijzigingen verloren gaan bij een update van het thema. Het bespaart je dan ook tijd omdat je de wijzigingen niet telkens opnieuw hoeft door te voeren.

Wat zijn de nadelen van een child theme?

Er zijn eigenlijk niet heel veel nadelen te verzinnen bij het gebruik van een child theme. Het grootste nadeel is dat je voldoende kennis moet hebben om dingen aan te passen in de code om te bereiken wat je wilt bereiken. Wanneer je niets hoeft aan te passen heb je tenslotte geen child theme nodig.

Een ander nadeel dat weleens voorkomt bij bepaalde thema’s, is dat je niet alle bestanden uit het hoofd thema kunt overschrijven met bestanden in je child theme. Het gaat in dit geval vaak om bestanden die in een map zitten in de map van het hoofd thema. Je moet hierdoor alsnog de originele bestanden aanpassen. Gelukkig komt dit steeds minder vaak voor.

Hoe kun je een WordPress child theme maken?

Een WordPress child theme kun je op verschillende manieren maken. Het is mogelijk om zelf handmatig een child theme te maken, maar je kunt ook een plugin het werk laten doen.

Het kan echter ook zijn dat je niet eens een child theme hoeft te maken omdat het al bij de bestanden van het thema zit. Het is dan gewoon een kwestie van de map naar de juiste plek uploaden (/wp-content/themes/) via FTP.

In onderstaande video kun je zien hoe je een WordPress child theme kunt maken met behulp van een plugin en hoe je de bestanden kunt bewerken.

Abonneer je op mijn YouTube kanaal

Wil je liever de tekstuitleg of handmatig een child theme maken? Lees hieronder verder.

WordPress child theme maken met een plugin

De eenvoudigste en snelste manier om een child theme te maken is door de plugin “Child Theme Configurator” te installeren. Met deze plugin kun je in een paar klikken een child theme maken van een WordPress thema.

Nadat je de plugin hebt geïnstalleerd en geactiveerd, kun je naar “Gereedschap -> Child themes” gaan. Je komt nu op een pagina uit waar je kunt aangeven dat je een child theme wilt maken, wat het hoofd thema (parent theme) is en kunt vervolgens het thema laten analyseren.

WordPress child theme aanmaken

Zodra je een analyse hebt laten uitvoeren, krijg je de mogelijkheid om nog een aantal dingen naar wens in te stellen.

WordPress child theme naam en style instellingen

Zo kun je bij stap 4 aangeven hoe de mapnaam van het child theme moet heten.

Bij stap 5 kun je aangeven waar de nieuwe CSS styles opgeslagen moeten worden. Standaard staat dit ingesteld op style.css en ik zou dit ook zo laten, tenzij je een goede reden hebt om dit niet te doen. Het is in elk geval de optie die ik ook altijd gebruik.

Hoe je omgaat met de stylesheet van het hoofd thema

Bij stap 6 kunnen we aangeven hoe we omgaan met de stylesheet (staat de opmaak in) van het hoofd thema. De standaard geselecteerde optie “Use the WordPress style queue”, is de beste optie en zoals WordPress het aanraad om te doen.

De @import functie is hoe het vroeger ging, maar is tegenwoordig niet meer de beste methode. De optie om geen handling toe te voegen, is alleen van toepassing als het style.css niet gebruikt wordt voor de opmaak.

Maak je gebruik van Genesis of een ander framework waar de child theme controle heeft over het volledige uiterlijk? Zet dan een vinkje bij “Ignore parent theme stylesheets”. Bij de meeste thema’s kun je deze optie dus negeren.

Mocht je het nodig om de naam, beschrijving, auteur en dergelijke aan te passen van het child theme, dan kun je bij stap 7 op “Show/Hide Child Theme Attributes” klikken om het aan te passen. Je kunt dit achteraf ook altijd doen in het style.css-bestand van je child theme.

Stap 8 is handig wanneer je al tijden gebruik hebt gemaakt van het hoofd thema en nu pas overschakelt naar een child theme. Door deze optie aan te vinken, worden de menu’s, widgets en customizer settings van het hoofdthema overgenomen. Dit scheelt je dus weer mooi wat werk.

Let er wel op dat soms niet alle opties goed worden overgenomen. Controleer alles altijd nog na het maken van je child theme.

Eenmaal alles ingesteld zoals je het wilt hebben? Klik op “Create New Child Theme” om de child theme daadwerkelijk te maken. Je moet vervolgens zelf nog wel je child thema activeren via “Weergave -> Thema’s”.

Nadat je een child theme hebt aangemaakt, heb je de plugin in principe niet meer nodig en kun je de plugin weer verwijderen van je website.

Zelf handmatig een child theme maken

Het is niet heel moeilijk om zelf handmatig een child theme aan te maken, maar het kost net even wat meer tijd dan een paar keer klikken in een plugin.

Het enige wat je in principe moet doen om een child theme te maken, is een nieuwe map en twee bestanden aanmaken.

Wanneer je zelf een child theme wilt maken heb je tevens toegang nodig tot de server van je website via (s)FTP. Je kunt hiervoor een programma als FileZilla gebruiken. Een andere mogelijkheid is om van de child theme map een .zip bestand te maken en deze te uploaden via “Weergave -> Thema’s -> Nieuwe Toevoegen”.

Hoe kun je handmatig een child theme maken?

Om een child theme te maken kun je het best een map aanmaken op je computer. De naam van de map maakt in principe niet uit zolang er maar geen spaties gebruikt worden. Het is gebruikelijk om het naamvanjethema-child te noemen, maar dit is niet noodzakelijk.

Style.css-bestand creëren

In je net aangemaakte map moet je een style.css-bestand plaatsen. Je kunt al een style.css-bestand maken met een programma als “Kladblok”, maar natuurlijk ook met code-editors als Notepad++ (windows) of Atom (Mac).

Vul vervolgens onderstaande code in en vergeet niet om deze informatie te updaten naar je eigen informatie.

/*
 Theme Name:   Naam van je child theme
 Theme URI:    http://jewebsitenaam.nl/
 Description:  Beschrijving van je thema
 Author:       Je naam
 Author URI:   http://jewebsitenaam.nl/
 Template:     Mapnaam hoofdthema 
 Version:      1.0.0
*/

/* Vanaf hieronder kun je CSS plaatsen
-------------------------------------- */

Je kunt bovenstaande regels naar wens aanpassen en bepaalde regels kun je ook achterwegen laten als je het niet wilt invullen. De enige regels die verplicht zijn om te gebruiken zijn Theme Name en Template.

  • Theme name moet een unieke naam zijn voor je child theme.
  • Template moet verplicht de mapnaam zijn van het hoofdthema, anders werkt het niet. Let dus goed op dat je de juiste naam invult.

Enqueue stylesheet

Naast een style.css-bestand, moeten we ook nog het style.css-bestand van het hoofdthema in het child theme verwerken, om alle opmaak goed te houden. Technisch gezegd moeten we de stylesheet enqueue.

Let op: Vroeger was de meest gebruikte methode om @import te gebruiken in het style.css-bestand om de stylesheet van het hoofdthema te laden. Hedendaags is dit niet langer aan te raden, aangezien dit de laadtijd langer maakt en het mogelijk is dat de stylesheet van het hoofdthema twee keer geladen wordt.

Wat we nu moeten doen is een functions.php-bestand aanmaken. Hierin kunnen we de stylesheet van het hoofd thema toevoegen. Je kunt dit met onderstaande code doen.

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>

Wanneer je geen verstand hebt van PHP, maak je dan niet druk om waarom deze code werkt.

Tip: Doe dit alleen als het niet werkt
Mocht het niet helemaal goed gaan met bovenstaande code. Het is gebruikelijk om in het functions.php-bestand niet te sluiten met “?>”. Wanneer bovenstaande code niet werkt, kun je dit weghalen, waarna het waarschijnlijk wel probleemloos werkt.

Child theme uploaden naar WordPress

Eenmaal alles aangemaakt en opgeslagen kun je via (s)FTP inloggen op de server van je website om de bestanden te uploaden. De juiste plek om de child theme map te uploaden is in de map /wp-content/themes/.

Wanneer je de map hebt geüpload, kun je in het WordPress beheerdersgedeelte naar “Weergave -> Thema’s” gaan om de child theme te activeren. De naam die WordPress voor je child theme gebruikt heb je zelf bepaald in het style.css-bestand.

Indien je nog geen extra CSS aan het style.css-bestand hebt toegevoegd, zal je nog geen veranderingen zien wanneer je jouw child theme activeert. Alles wat je in de toekomst toevoegt aan het style.css-bestand van je child theme heeft wel effect op de opmaak van je website.

Template bestanden aanpassen

Op dit moment denk je misschien dat je alleen de mogelijkheid hebt om iets aan te passen met CSS, maar wat nou als je ook de PHP-bestanden wilt aanpassen?

Wanneer je een PHP-bestand van het hoofd thema wilt aanpassen moet je dit bestand kopiëren, bewerken en vervolgens toevoegen aan je child theme.

Nogmaals, het bewerkte bestand met aanpassingen moet dus in je child theme terecht komen. Wanneer je dit gedaan hebt zal je meteen de aanpassingen zien op je website.

Het originele bestand kun je probleemloos in het hoofd thema laten, omdat het bestand in het child theme leidend is.

Het functions.php-bestand is een uitzondering

Bovenstaande methode werkt echter niet bij het functions.php-bestand. Het functions.php-bestand wordt niet overgeschreven, WordPress gebruikt beide functions.php-bestanden.

Wil je dus iets aanpassen in het functions.php-bestand van het hoofd thema, dan moet je het originele bestand aanpassen.

Wil je iets nieuws toevoegen, dan kun je dit beter in het functions.php-bestand van je child theme plaatsen. Op deze manier weet je precies wat je zelf nieuw hebt toegevoegd en hoef je dit niet na elke update opnieuw toe te voegen.

Conclusie

Zoals je hebt kunnen lezen in dit artikel is het gelukkig niet super moeilijk om een WordPress child theme aan te maken en heb je eigenlijk geen goede reden om het niet te doen als je iets van je thema wilt aanpassen.

Het kost maar een paar minuten om een child theme te maken en op deze manier hoef je niet bij iedere thema update alle wijzigingen opnieuw aan te brengen.

Maak jij gebruik van een child theme op je website of maak je alle aanpassingen in het hoofd thema? Laat het hieronder weten in de reacties.


WordPress Hulp Nodig? Join Het WP Lab

Het WordPress Lab Mockup

Heb je vragen aan de hand van dit artikel of wil je verder op weg geholpen worden met je website?

Sluit je aan bij Het WordPress lab, een community voor WordPress-liefhebbers waarin ik antwoord geef op jouw WordPress vragen en je toegang krijgt tot al mijn WordPress cursussen.

«
»

81 reacties op “WordPress child theme maken”

  1. bianca avatar
    bianca

    ik heb een flatsome theme al twee jaat maar ineens is mijn stylesheet verdwenen. update helpt niet.
    weet niet of deze belangerijkk is en hoe ik dit ka fixen.
    all import voorraad update doet hij ineens ook niet meer.

  2. Neliene avatar

    Hoi maikel ik gebruik het thema flatsome, hier staat al een childthema van gemaakt. Echter heb ik deze niet geactiveerd. Kan ik nu gewoon overschakelen of ben ik dan alles wat ik nu gedaan heb kwijt?

    1. Maikel van de Weerd avatar

      Je hebt kans dat instellingen en dergelijke die je hebt gedaan verloren gaan inderdaad.

      1. Neliene avatar

        Is er geen manier om alles over te zetten?

  3. Aly avatar
    Aly

    Hallo, ik zie dat de plugin Child Theme Configurator niet getest is met mijn Wordpress versie, terwijl ik deze wel steeds update. Kan ik deze dan gewoon gebruiken?

    1. Maikel van de Weerd avatar

      Ja, deze plugin zal geen problemen opleveren.

  4. Aly avatar

    Hallo Maikel,
    Ik heb ooit een website gemaakt zonder Childtheme.
    Nu wil ik graag met de plugin een Childtheme aanmaken.
    Kan hierdoor iets mis gaan, zodat de site het niet meer doet. Ik durf het n.l. niet zo goed te proberen.

    1. Maikel van de Weerd avatar

      Het is sowieso altijd verstandig om een back-up te maken, zodat je altijd terug naar de oude situatie kan. Vaak is het echter geen enkel probleem om alsnog een child theme aan te maken en gaat er niet snel iets fout.

  5. Corine avatar
    Corine

    Hoi Maikel,
    Mijn childtheme staat in de leesstand en ik krijg de melding, dat mijn themamappen niet beschrijfbaar zijn. Ik kan ook geen bestanden uploaden in mijn childtheme.

    Ik had child-theme-configurator verwijderd en mijn site chraste. Ik kon niet meer inloggen. Door een back up terug te zetten kwam de site gelukkig weer terug, maar mijn childtheme werkt nu dus meer. Een nieuw childtheme geprobeerd te maken, maar dit werkt dus ook niet.

    Weet jij een oplossing?
    Mijn site staat nog niet online. Theme Virtue

  6. Perry vd Hee avatar

    Goedendag,
    Alle stappen heb ik gevolgd om een child theme te maken aan de hand van de plugin. Nu wil ik in de function.php van mijn child theme het een en ander veranderen. Mij werd verteld om deze tekst te plakken om bepaalde tabbladen te verbergen:
    function bp_remove_sub_tabs() {
    if ( ! bp_is_user() ) {
    return;
    }
    bp_core_remove_subnav_item( ‘activity’, ‘mentions’ );
    bp_core_remove_subnav_item( ‘activity’, ‘favorites’ );
    }
    add_action( ‘bp_actions’, ‘bp_remove_sub_tabs’ );

    Ik heb een regel over geslagen en de tekst zo geplakt maar het werkt niet:
    Weet u wat ik fout doe?

    Met vriendelijke groet,
    vd Hee

    1. Maikel van de Weerd avatar

      Ik weet niet waarvoor de code is. Wellicht dat de code niet helemaal goed is en het daardoor niet werkt. Ik kan het vanaf hier verder ook niet zeggen.

  7. Bianca avatar

    Ik heb al een child theme. Heb genesis ook geüpload maar deze zegt dat er geen child theme is. Hoe activeer ik ze beiden?

    1. Maikel van de Weerd avatar

      Je hoeft niet beide thema’s te activeren. Je kunt maar 1 van de 2 activeren. Daarnaast werkt het bij Genesis wat anders, daar genesis een framework is. Waarschijnlijk heb je daar al een genesis child theme aanstaan.

  8. Martin avatar

    Hallo Maikel,

    Veruit de beste uitleg, bedankt daarvoor!

    In mijn enthousiasme ben ik begonnen aan een website zonder eerst een child te maken. Nu heb ik dat toch gedaan, waarbij ik de thema-map in zijn geheel heb gekopieerd en “- child” aan toegevoegd. Daarna heb ik in de functions.php bestand de code ingegeven uit je artikel. De website doet het goed. Alleen heb ik een vraag:

    1) de style.css bestand in de child-map is 10K regels lang. Heb ik dit allemaal nodig of kunnen deze regels verwijderd worden, omdat er verwezen wordt naar de thema-map?
    Ik vrees namelijk dat wanneer de gegevens in de thema-map overschreven worden dat deze verwijzing geen toegevoegde waarde meer heeft én ik die 10K regels verwijderd heb. Klopt dit..?

    Mvg,
    Martin

    1. Maikel van de Weerd avatar

      Klopt, je hebt in het style.css-bestand van je child theme alleen de regels nodig die je die anders zijn dan in het hoofd thema. Dit hoeft dus zeker niet een kopie te zijn.

      1. Martin avatar
        Martin

        Bedankt voor je reactie. Alleen ik ben best een leek in deze. Wanneer ik de kopie style.css leeg haal muv aanpassingen tov hoofd style.css in hoofdthema-map én er vindt een update plaats, raak ik dan de style niet kwijt waarnaar juist wordt verwezen door de kopie style.css?

        1. Maikel van de Weerd avatar

          Bestanden in je child theme worden nooit geüpdatet door een thema update, dus hier zal je nooit iets in kwijt raken. Alleen bestanden van het hoofdthema worden geüpdatet.

  9. Jerry avatar
    Jerry

    Ten eerste erg bedankt voor alle artikelen die je schrijft. Ik heb er veel aan gehad.

    Ik heb echter wel een vraagje. Als ik een Child Theme maak wordt deze dan ook ge-update als het Parent theme een update krijgt ?

    BVD

    1. Maikel van de Weerd avatar

      Nee, er wordt niks doorgevoerd in een child theme, dit is ook de reden waarom je hier de aanpassingen in moet doen. Deze gaan dan niet verloren bij een update. Het kan wel zijn dat je op termijn de bestanden met je aanpassingen zelf een keer moet updaten als het hoofdthema ontzettend veel veranderd is qua code.

  10. jdb avatar
    jdb

    een heldere uitleg alleen begrijp ik niet in welke map ik het functions.php-bestand moet plaatsen.
    zoals heter nu bij mij staat:
    mapnaam: themaleuk-child
    in deze map het ik neer gezet het bestand;
    het style.ccs
    en
    functions.php-bestand

    klopt dit zo?
    alvast bedank voor de reactie
    vriendelijke groet,
    jdb

    1. Maikel van de Weerd avatar

      Klopt, deze twee bestanden moeten in je child theme map staan.

  11. Teun avatar
    Teun

    Mooie duidelijke Post!!

  12. Chris avatar
    Chris

    Beste Maikel,

    Allereerst bedankt voor dit mooie artikel. Ik heb alles gedaan zoals jij hierboven netjes beschreven hebt, maar wat ik ook doe mijn style van twentyseventeen wordt niet over genomen.
    Ik heb mijn twentyseventeen-child wel kunnen activeren, maar ik krijg een site te zien zonder style.
    Wat zou dit kunnen zijn, alvast bedankt.

    Groet,
    Chris.

    1. Maikel van de Weerd avatar

      Durf het vanaf hier niet direct te zeggen. Het kan met meerdere dingen te maken hebben. Is makkelijker met een websitelink.

      1. Chris avatar
        Chris

        Hier de link Maikel,

        benb2provincien.eu/test
        En hieronder de style.css.

        Alvast bedankt voor de moeite.

        1. Maikel van de Weerd avatar

          Hoi Chris,

          Bij mij werkt het allemaal goed. Wanneer dit bij jou niet het geval is, wellicht de browsercache even legen. 🙂

          1. Chris avatar
            Chris

            Maikel,
            Ik start net de computer op en raar maar waar, hij doet het bij mij nu ook goed.

  13. Collin Questa avatar
    Collin Questa

    Bedankt voor dit artikel Maikel.
    Ik heb het Child Theme aangemaakt. Nu wil ik wat toevoegen in style.css. In mijn geval wil ik een widget toevoegen, wat tussen de -tags moet staan, maar als ik naar style.css van mijn Child Theme in mijn thema editor ga dan zie ik alleen het style.css zoals ik het heb toegevoegd.Hoe kan ik wat toevoegen tussen de -tags?

    Dankje:)

    1. Maikel van de Weerd avatar

      Ik weet niet waar je op doelt met “-tags”?

      1. Collin Questa avatar
        Collin Questa

        Bedankt voor je reactie.

        Er moest staan -tags.
        Het is me inmiddels gelukt met behulp van een plug-in:)

        1. Collin Questa avatar
          Collin Questa

          Als ik reageer met het gekopieerde -tags, =wordt niet weergegeven op je site. Vandaar dat er alleen -tags stond in mijn reactie…

      2. Collin Questa avatar
        Collin Questa

        Ik bedoelde -tags. Het is blijkbaar automatisch veranderd in alleen -tags, nadat ik het vanuit een instructie kopieerde en hier plakte:)

        Het is gelukt. Ik heb heb de code van de widget via een plug-in aan de footer van mijn site kunnen toevoegen. Bedankt.

        1. Collin Questa avatar
          Collin Questa

          tags wordt hier automatisch -tags, maar ik bedoelde dus – tags:)

          1. Collin Questa avatar
            Collin Questa

            Pff:p het woordje head met achter wordt hier niet geaccepteerd….. maar je snapt nu wel wat ik bedoel denk ik:)

  14. Jon avatar
    Jon

    Hey Maikel,

    Dank voor de tips. Inmiddels is “One-Click Child Theme” niet meer te installeren (link aanpassen?), maar er zijn andere bruikbare.

    1. Maikel van de Weerd avatar

      Yes, klopt. Ik zal het artikel binnenkort een update geven. 🙂

  15. Kors Paap avatar
    Kors Paap

    Maikel, de genoemde plugin is nu zelfs verwijderd ivm schending van bepaalde regels.

    1. Maikel van de Weerd avatar

      Thanks voor de info. Klopt inderdaad, de code zal niet meer volgens standaard zijn, nadat de plugin meer dan 4 jaar niet is geüpdatet. Ik zal het artikel binnenkort updaten.

  16. Jens avatar
    Jens

    Dag Maikel,
    In mijn geval heb ik al aanpassingen gemaakt in een gebruikte theme, maar omdat ik nu de theme wil/zou moeten updaten, leek het mij toch verstandiger om alsnog van de huidige site/theme (dus incl css customizations) een child te maken. Kan dat ook?
    Alvast dank,
    Jens

    1. Maikel van de Weerd avatar

      Ja, je kunt altijd nog een child theme maken. De wijzigingen die je gedaan hebt, moet je dan ook naar je child theme brengen, zodat deze behouden blijven.

      1. Jens avatar
        Jens

        Oh, die wijzigingen gaan niet automatisch mee in je Child theme?

        1. Maikel van de Weerd avatar

          Nee, correct. Je moet de bestanden die je hebt gewijzigd ook in je child theme plaatsen en de css-wijzigingen moet je apart toevoegen in het style.css-bestand van je child theme.

  17. Titia avatar

    Hallo Maikel,
    De plug-in die je adviseert is al 4 jaar niet meer bijgewerkt in het thema dat ik gebruik. Ik ga daarom voor een andere plugin kiezen. Jammer want ik maak graag gebruik van je uitleg en blogs.

  18. Waegemans Karel avatar

    Beste Maikel,

    De plugin One-Click Child Theme is niet compatibel met WP 5.03

    Ik vond deze plugin als alternatief.
    https://wordpress.org/plugins/child-theme-configurator/
    Is dit een goed alternatief?

    Graag uw reactie.
    Bedankt vooraf.

    1. Maikel van de Weerd avatar

      Ja, dat is een prima alternatief.

  19. Janneke avatar
    Janneke

    Hoi! Klinkt super easy! Alleen heb ik een probleem met het functions.php bestand. Moet je die dan in het hoofdthema zoals het oorspronkelijke bestand laten en de code die ik helemaal onderaan heb toegevoegd in een los bestand plaatsen, die functions.php noemen en vervolgens in het child theme zetten?

    Dat heb ik namelijk geprobeerd maar werkte niet. Moet je nog een code aan de functions.php voor het child theme toevoegen bijvoorbeeld?

    Ik ben benieuwd!

    Janneke

    1. Maikel van de Weerd avatar

      Nee, dit bestand moet je inderdaad niet dupliceren. Je kunt in het functions.php-bestand van je child theme de volgende code invoeren:


  20. Dave avatar
    Dave

    Beste Maikel,

    Ik wil graag een child theme maken zodat de mensen voor wie ik een website bouw, niet kunnen zien welk thema ik gebruik.

    Is het mogelijk om de naam en afbeelding van mijn child theme aan te passen en dan de parent thema te verwijderen?

    Met vriendelijke groet,

    Dave

    1. Maikel van de Weerd avatar

      Het parent thema mag je nooit verwijderen. De naam en afbeelding van het child theme kan wel gewijzigd worden. Let er dan alleen wel op dat je alle thema instellingen opnieuw moet instellen, omdat WordPress het als een ander thema ziet.

  21. Wilfried Mestdagh avatar

    Woow zo simpel 😉 Ik heb dit eens geprobeerd. Ik had een thema en de auteur had voor heel veel zaken text-transform:uppercase ingesteld. Ik heb dan een child gemaakt met op de nodige plaatsen text-transform: none; en dan alles gewist wat niet nodig was in het child.

    Schitterend: 10 minuten werk en alles werkt naar behoren in plaats van uren heen en weer te mailen met de auteur om custom CSS in te voeren 😉

    Er staat wel een foutje in je uitleg waar ik even achter moest zoeken:
    Template: Naam hoofdthema
    Is verkeerd, het moet de naam zijn van de folder van het hoofdthema in plaats van de naam van het hoofdthema.

    Groetjes, Wilfried

  22. Coinstart avatar

    Hallo Webtalis,

    Handige en interessante tutorial, voor onze website https://coinstart.nl zijn wij op zoek naar een handige WP ontwikkel tool.
    Een soort offline voor google dev. omgeving, wij willen namelijk de website ombouwen naar een ander thema.
    Deze moet in een nacht in 1 keer goed gezet worden, vandaar!

    heb jij tips? 🙂
    Of wellicht heb je hier al een keer iets over geschreven?

    Alvast dank.

    1. Maikel van de Weerd avatar

      Nee, nog niets over geschreven. Maar je kunt bijvoorbeeld met Xampp een lokale testomgeving maken als je dat zou willen. Wanneer je het op een online server wilt doen is dit ook mogelijk door een subdomein te gebruiken en deze dan te verbergen voor Google door de website op privé te zetten en/of zoekmachines te blokkeren.

  23. Thieu avatar

    Hallo Maikel,

    vooreerst bedankt voor de zeer bruikbare tip.
    Als ik de stylen.css file aanpas van het child-theme, dan heeft dat blijkbaar geen direct effect op de site.
    Het resultaat krijg ik pas na een bepaalde tijd te zien.
    Ook niet direct bij refreshen van de pagine, of uit en aan zetten van browser, of ook niet na herstarten van de computer.
    Meestal voer ik de wijziging ’s avonds door, dan is het effect ’s anderendaags wel te zien.
    Is er een mogelijkheid om dit te versnellen?

    Alvast bedankt.

  24. hendrik landuyt avatar
    hendrik landuyt

    Dag Maikel,

    Waarom zou je handmatig een childtheme maken als het zo eenvoudig kan met een plugin? Mijn site is nog niet gepubliceerd. Maakt dat enig verschil uit?

    Bedankt
    Hendrik

    1. Maikel van de Weerd avatar

      Er zit geen verschil in. Het is maar net wat je wil. Sommige mensen doen graag alles zelf. 🙂

      1. hendrik landuyt avatar
        hendrik landuyt

        Dag Maikel,

        Hartelijk dank !

        Een kennis gaf me als antwoord dat het met de plugin soms fout kan gaan. De plugin zou in conflict kunnen geraken met andere plugins. Zolang het goed gaat ga ik het toch blijven doen via plugins. 🙂

        1. Maikel van de Weerd avatar

          Als je het handmatig doet kan het ook fout gaan. 🙂
          Zodra je een child theme hebt gemaakt, kun je de plugin alweer direct verwijderen. Kans op conflicten zie ik dus niet zo snel.

  25. Lino avatar
    Lino

    Hoi Maikel,

    Ik heb al aanpassingen gedaan in het hoofdthema voordat ik een child theme had aangemaakt. Als ik nu alsnog de aangepaste css code in de child theme plaats dan zou bij een update nog moeten werken. Klop dat?

    Ook heb ik een aanpassing gedaan in de functions.php file. Moet ik nu de hele file kopiëren naar de child of een functions.php met alleen de aanpassing?

    Alvast bedankt voor je hulp!

    1. Maikel van de Weerd avatar

      Klopt, wanneer je de aangepaste CSS toevoegt aan je child-theme, dan blijft dit bij een update behouden en zal het moeten blijven werken.

      De functions.php is een apart bestand. Je hoeft hier niet alles heen te kopiëren, alleen de extra dingen die je hebt toegevoegd.

  26. Bram Metz avatar

    Hoi Maikel,

    Duidelijke uitleg! Nog een vraagje, voor een webshop maak ik aanpassingen in de woocommerce php bestanden, alleen kan ik in mijn child theme (Uplift) alleen maar de eerste map zien, dus: Uplift child->woocommerce en dan de bestanden. En niet Uplift child-> woocommerce->loop en dan de bestanden. De extra achterliggende mappen pakt hij niet. Zou jij weten waar dit aan ligt?

    1. Maikel van de Weerd avatar

      Het is gebruikelijk dat je niet alle mappen met bestanden binnen een thema kunt zien vanuit de WordPress editor. Er gaat dus niet iets fout of iets dergelijks.

  27. Bjorn avatar

    Beste Maikel,

    Bedankt voor de handige tips. Ik heb nu een child theme. Als ik nu een wijziging wil aanmaken, moet ik dat dan eerst gewoon in het parent theme doen, waarna dit autmatisch wordt overgezet naar het child theme? Ik heb in de Editor bij het child theme maar beperkte mogelijkheden namelijk

    Bedankt!!

    1. Maikel van de Weerd avatar

      Alle wijzigingen moet je juist doen in het child theme. Mocht je dus een code in een bestand willen aanpassen, dan kun je deze kopiëren uit je parent thema halen en ook in het child theme plaatsen met de wijzigingen.

  28. Luc van Gerrevink avatar

    Beste Maikel,
    Ik wil wat aanpassingen maken in wp-content/themes//includes/navigation.php. Kan ik gewoon een kopie van navigation/php neerzetten in wp-content/themes//includes/ en die aanpassen? Of moet er nog iets anders gebeuren?

    Hoe weet WP nu dat ik met de navigation.php in de child map de wp-content/themes//includes/navigation.php bedoel? Een bestand met diezelfde naam kan toch ook in een andere map voorkomen?

    1. Maikel van de Weerd avatar

      Klopt, zo werkt het inderdaad. Het is echter soms zo dat bestanden in mappen niet goed overschreven worden. Bij het ene thema werkt het wel prima en bij het andere thema wat minder.

      In het child thema staat altijd in het style.css bestand om welk hoofdthema het gaat, waardoor WordPress weet welk thema het hoofdthema het is en welke bestanden je wilt overschrijven.

  29. Anton van Son avatar

    Nuttig artikel, dank!
    Ik loop alleen tegen een probleem aan: ik probeer de PHP’s te kopieren naar de map van het child theme maar ik krijg geen toegang. De map is aangemaakt door Wordpress, dus ik neem aan dat de rechten daarmee ook bepaald worden.
    Kan ik daar iets binnen Wordpress mee of moet ik host systeembeheer verzoeken of ze wel bij die map kunnen?
    Voor de duidelijkheid: het child theme is gemaakt zoals hierboven aangegeven, niet met een plug-in.
    Alvast dank!

    1. Maikel van de Weerd avatar

      Hoe bedoel je dat je geen toegang krijgt? Wat voor melding zie je? Binnen WordPress kan je niets met de rechten, maar via FTP zou je altijd bij de bestanden moeten kunnen komen. Een bericht naar je hostingprovider is niet zo gek inderdaad als we het over hetzelfde hebben.

  30. rob de koning avatar

    Beste Maikel,
    Ik gebruik het Hueman theme al een tijdje en ik zag dat er een theme update was verschenen……Mooi natuurlijk maar ik heb geen idee of ik iets in het css gewijzigd En ik heb nog geen child theme, heel fijn dus……….Wat is wijs.
    Kan ik gewoon een child theme maken en daarna mijn theme updaten of verlies ik dan toch nog mijn wijzigingen.
    Het zou zomaar kunnen dat ik niets gewijzigd heb in het css maar hoe kom ik daar achter, zijn er programmaatjes die dat kunnen opsporen…………het enigste wat ik mij kan herinneren is dat ik iets, een code van Yoast (seo) erin gezet heb…….Zoals je ziet ben ik niet bepaald een licht op dit vlak maar ik zou het heel fijn vinden als jij de oplossing had…………..
    Groetjes Rob

    1. Maikel van de Weerd avatar

      Wanneer je nu een child theme maakt verlies je bij een update alsnog de wijzigingen, omdat de wijzigingen in het hoofd thema zijn gemaakt.

      Je zou kunnen kijken of je de versie die je nu op je website hebt draaien nogmaals kunt downloaden, zodat je de bestanden met elkaar kunt vergelijken. Je kunt dit met een programma als notepad++ of gewoon via je browser door de inhoud van beide bestanden te kopiëren en te plakken. Hier zijn verschillende websites voor te vinden als je in Google zoekt op compare code.

      Wanneer je alleen iets hebt toegevoegd voor Yoast, dan zal dit niet in het style.css bestand zijn gedaan. Misschien in het header.php bestand om ervoor te zorgen dat de titels goed werden weergegeven?

  31. Lisette avatar
    Lisette

    Hi Maikel,

    Kan ik ook ná het maken van mijn website (theme ‘Bridge’, themeforest) nog een child theme aanmaken? Zoals ik het lees is het puur een kopie die je dan instelt als thema.

    Mijn website is inmiddels af en ik zou graag mijn updates van Bridge willen doorvoeren, maar weet dus niet of ik nu te laat ben met het maken van een child theme…

    Alvast bedankt!

    1. Maikel van de Weerd avatar

      Ja, je kunt dit gewoon doen. Het enige is wel dat je dan alles opnieuw moet instellen, omdat de instellingen niet worden overgenomen.

  32. zjos avatar
    zjos

    Maikel , wat raad je mij aan voor het volgende. Ik heb een script gemaakt voor een animated logo (in een joomla omgeving) . Er loopt een flash beam door het logo (zie http://www.robo-ts.nl ) Ik wil deze site omzetten naar wordpress en wil dit logo uiteraard het zelfde laten zien. Ik heb gelezen dat dit het beste via een child zou kunnen gaan? Waar zou ik het script in moeten brengen . (php?) er is ook een css .
    Hoe los ik e.e.a. op in wordpress

    1. Maikel van de Weerd avatar

      Sowieso in een child theme inderdaad. In welk bestand hangt een beetje af van het thema waar je gebruik van maakt. Vaak moet je voor het logo in het header.php bestand zijn en de css kun je in het style.css bestand plaatsen van je child theme.

  33. Philippe avatar

    Goed artikel! Ik gebruik al wat jaren een Child Theme maar heb nooit geweten dat er een Wordpress widget voor is!

  34. Sotexis avatar
    Sotexis

    Als ik meerdere gemodificeerde files, die in diverse mappen van een thema zitten, in een child theme wil onderbrengen, moet ik in het child theme dan ook de mapstructuur van het parent theme volgen?

    1. Maikel van de Weerd avatar

      Je moet in een child theme inderdaad altijd de mapstructuur van het parent theme volgen.

      Gelukkig werkt het bij de meeste thema’s prima, maar het komt weleens voor dat het op deze manier alsnog niet werkt omdat het thema dat je gebruikt het niet goed ondersteund. Wanneer dit het geval is moet je alsnog het originele bestand moeten aanpassen.

  35. Collin avatar

    Hallo,

    Ik heb de plugin One-Click Child Theme Plugin gebruikt, maar nu is de hele website verdwenen. Ook kan ik niet meer in WordPress Dashboard komen.
    Als ik de site open toont hij een lege pagina.

    Heeft u een idee hoe ik dit op kan lossen?

    Met vriendelijke groet,

    Collin

    1. Maikel van de Weerd avatar

      Oei, dat heb ik nog nooit meegemaakt met deze plugin. Wat je kunt doen is via FTP de map van je child theme even verwijderen of hernoemen. De map van je child theme staat in de map “wp-content/themes”.

  36. Nicky avatar

    Hmm, ik ben echt heel blond op dit gebied. Ik zie het nut van een child-theme en ik wil er graag één maken. Ik begrijp alleen niet zo goed hoe de aanpassingen in het child-theme vervolgens zichtbaar worden op je online-theme.

    1. Maikel van de Weerd avatar

      De aanpassingen worden zichtbaar omdat je onder Weergave -> Thema’s het child theme gebruikt als thema.

      Je child theme gebruikt in eerste instantie de code uit het hoofd thema, maar zodra je iets toevoegt of aanpast wordt de code uit het hoofd thema overruled omdat je in WordPress je child theme hebt ingesteld als thema.

      Ik hoop dat het zo duidelijk is en zo niet stel gerust nog een vraag.