In meinem Mitgliederbereich werde ich immer wieder gefragt, was ein Child Theme in WordPress ist und wann man es benรถtigt. Darum zeige ich dir in dieser Anleitung, wie du ein WordPress Child Theme erstellen kannst, was das รผberhaupt ist und wofรผr du es brauchst.
Ein Child Theme ist praktisch, wenn du รnderungen an deinem Theme vornehmen mรถchtest.
Erfahre, wie du ein Child Theme mit und ohne Plugin anlegst:
Ein WordPress Child Theme erstellen โ so gehts
Es gibt mehrere Wege, Child Themes zu erstellen. Hier sind die sinnvollsten:
- Prรผfen, ob dein Parent Theme eines mitbringt
- Mit Hilfe eines WordPress Plugins benutzen
- Manuell per FTP-Upload
Die FTP-Methode erfordert etwas technisches Verstรคndnis (oder Lernwillen) und etwa 30 Minuten Zeit. Dafรผr hast du volle Kontrolle darรผber, was auf deinem WordPress-System passiert und du bekommst ein besseres Verstรคndnis fรผr die Dateistruktur.
Child Themes per Plugin anzulegen ist deutlich bequemer. Wenn du allerdings ein schlechtes Plugin heraussuchst (ich empfehle dir natรผrlich ein von mir geprรผftes) kann das Child Theme schlecht programmiert sein oder dich auch mit Werbung zuballern.
Mit dem WordPress Child Theme Plugin, das ich dir empfehle, hast du allerdings nichts davon zu befรผrchten und sogar noch nรผtzliche weitere Mรถglichkeiten.
Wusstest du, dass du von jeder beliebigen Website das genutzte WordPress Theme herausfinden kannst?
Prรผfe, ob dein Theme ein Child Theme besitzt
Insbesondere bei gekauften Themes werden hรคufig Child Themes mitgeliefert.
Wenn du also ein Theme gekauft hast, lade das gesamte Paket herunter und schaue in dem heruntergeladenen Archiv, ob hier zusรคtzlich zum Parent Theme auch ein WordPress Child Theme mit dabei ist.
Wenn ja, lade sowohl das eigentliche, als auch das Child Theme hoch und aktiviere das Child Theme.
Das Child Theme mit einem Plugin erstellen
1. Installiere das kostenlose โChild Theme Configuratorโ Plugin
Verwendest du lieber ein Plugin, navigiere im WordPress Dashboard zu โPluginsโ -> โInstallierenโ.
Gib in der Suchzeile โChild Theme Configuratorโ ein, installiere und aktiviere anschlieรend das kostenlose Plugin.
Wurde das Plugin installiert, wรคhlst du im Dashboard den neu hinzugefรผgten Menรผeintrag โWerkzeugeโ -> โKindthemenโ bzw. โChild Themesโ.
2. Prรผfe dein aktuelles Parent Theme
Im Tab โEltern/Kindโ wรคhlst du bei Schritt 1 โAktion auswรคhlenโ die Einstellung โNeues Kindthema ERSTELLENโ.
Anschlieรend wรคhlst du in der Liste in Abschnitt 2 โKindthema auswรคhlenโ dein aktuell aktives Theme aus, fรผr das du dein Child Theme anlegen mรถchtest, beispielsweise โTwenty Twenty-Oneโ.
Klicke nun auf den โUntersuchenโ Button.
Das Plug-In prรผft jetzt, ob dein Parent Theme die Erstellung von Child Themes zulรคsst und ob alles technisch in Ordnung ist.
3. Konfiguriere dein Child Theme
Ist die Prรผfung erfolgreich, bekommst du eine (oder mehrere) grรผne Erfolgsmeldungen.
Keine Sorge, es sieht hier zwar nach vielen Einstellungen aus, allerdings ist von Haus aus alles korrekt eingestellt. Du musst hier nichts verรคndern, auรer du mรถchtest gewisse Dinge anders machen.
Schritt 4 gibt dir die Mรถglichkeit, den Child Theme Ordner zu benennen. Du kannst das aber so stehen lassen, wie es automatisch eingefรผgt wird (der Name des Parent Themes + โChildโ).
In Schritt 5 wirst du gefragt, wo neue CSS-Styles gespeichert werden sollen. In den meisten Fรคllen ist das voreingestellte โPrimรคre Formatvorlage (style.css)โ die beste Wahl.
Bei Punkt 6 โElternthema-Formatvorlagen-Handling auswรคhlenโ (Elternthema ist synonym zu Parent Theme) kannst du das voreingestellte โDie WordPress Stil-Warteschlange benutzenโ ausgewรคhlt lassen und auch die โErweiterten Handling-Optionenโ musst du nicht umstellen.
4. (optional) Gib dem Child Theme einen Namen
Im nรคchsten Bereich (Schritt 7) kannst du dem Child Theme einen โbesonderenโ Namen, eine Beschreibung und mehr zuweisen. Das ist alles optional.
5. Wichtige Einstellungen รผbernehmen & Child Theme erstellen
In Schritt 8 kannst du die Menรผs, Widgets und andere Einstellungen aus dem Customizer in die Konfiguration des Child Themes รผbernehmen.
Diese Einstellung solltest du aktivieren, da sonst mรถglicherweise bei Updates deines Parent Themes gewisse Einstellungen verรคndert werden, welche du gerne beibehalten hรคttest.
Klicke jetzt bei Schritt 9 auf โCreate New Child Themeโ und warte, bis das Child Theme erstellt ist.
6. Teste das Child Theme und aktiviere es
Wurde das Child Theme erfolgreich angelegt, bekommst du ganz oben auf der automatisch neu geladenen Seite eine grรผne Erfolgsmeldung.
In dieser Meldung ist ein Link โPrรผfen Sie Ihr Kindthema in der Voransicht vor der Aktivierungโ, den du nun anklickst, um das WordPress Child Theme zu prรผfen.
Klicke diesen Link an und du wirst in den WordPress Customizer gefรผhrt, in dem die Vorschau des neuen Child Themes aktiv ist.
Wenn nun alles so aussieht, wie du es dir wรผnscht (normalerweise sollte ja alles so aussehen, wie vorher mit dem Parent Theme), kannst du das Child Theme รผber den Button โAktivieren und Verรถffentlichenโ online stellen.
Manueller Upload per FTP
Alternativ gibt es noch die manuelle Methode, um ein WordPress Child Theme zu erstellen. Du brauchst dafรผr
- Ein FTP-Programm (ich empfehle dir Filezilla oder Cyberduck)
- Die FTP-Login-Daten deines Webservers
- Einen Texteditor (Word ist keiner, dafรผr aber z.B. SublimeText oder Notepad++)
Navigiere mit Hilfe deines FTP-Clients zum Verzeichnis โwp-contentโ -> โthemesโ.
Erstelle im Verzeichnis (Verzeichnis und Ordner bedeutet das Gleiche) deines Themes einen neuen Ordner. Er sollte den gleichen Namen wie das Parent Theme erhalten, aber mit der angehรคngten Ergรคnzung -child, beispielsweise meintheme-child.
Achte darauf, dass der Verzeichnisname keine Leerzeichen enthรคlt. Besteht er aus mehreren Wรถrtern, verbinde diese mit einem Bindestrich. Andere Sonderzeichen solltest du nicht verwenden.
In diesem Beispiel erstellst du nun mit der Hilfe deines Texteditors eine Datei namens โstyle.cssโ auf deinem Rechner.
Kopiere in diese Datei den folgenden Code:
/*
Theme Name: Twenty Twenty Child
Theme URL: http://yourdomain.com
Description: Twenty Twenty Child
Theme Author: Your Name
Author URL: http://yourdomain.com
Template: twentytwenty
Version: 1.0.0
Text Domain: twentytwenty-child
*/
Diesen Text kannst du natรผrlich an dein genutztes Theme und deine Wรผnsche anpassen.
Am wichtigsten ist die Zeile โTemplateโ. รber sie weiร WordPress, welches das Parent Theme deines Child Themes ist. Vergiss nicht, die fertige Datei zu speichern.
Mรถchtest du auch Funktionen des Themes verรคndern, erstellst du jetzt noch eine weitere Datei und nennst sie functions.php. Dort kopierst du diesen Code hinein:
<?php
add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
function enqueue_parent_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}
?/>
Anschlieรend lรคdst du beide Dateien in den angelegten Child Theme Ordner hoch.
Logge dich jetzt in dein WordPress Dashboard ein und navigiere unter โDesignโ -> โThemesโ. Hat alles geklappt, siehst du hier nicht nur das Parent Theme, sondern kannst auch dein Child Theme aktivieren.
Was ist eigentlich ein WordPress Child Theme?
Nutzen wir den schรถnen Namen als Metapher:
Ein Child Theme ist das Kind des Parent Themes, also der Mutter bzw. der Eltern. Dieses Kind รผbernimmt alles von seiner Mutter, bis es eigene Dinge lernt und diese umsetzt.
Genau so verhรคlt es sich auch bei Child Themes.
Technisch gesehen ist es im Prinzip eine leere Hรผlle, die alles vom Parent Theme รผbernimmt.
Wenn du รnderungen an einer Datei des Themes vornehmen mรถchtest, kopierst du diese Datei von dem Parent Theme in das Child Theme und verรคnderst sie nach deinen Wรผnschen.
Bei einem Theme Update wird ausschlieรlich das Parent Theme aktualisiert, das WordPress Child Theme und somit auch deine รnderungen, bleiben unangetastet.
Ein WordPress Child Theme wird in einem eigenen Verzeichnis im โThemesโ-Ordner gespeichert. Es besitzt eigene style.css und functions.php Dateien, anders gesagt genau die Dateien, in denen du รผblicherweise Verรคnderungen am WordPress-Theme vornimmst.
Bei Bedarf kannst du weitere Dateien hinzufรผgen. Alle รnderungen, die du machst, werden nur im Child Theme gespeichert und bleiben somit von Updates deines Hauptthemes unangetastet.
Du kannst im WordPress Backend unter โDesignโ das Child Theme aktivieren und deaktivieren, wie jedes andere Theme auch.
Ist es aktiv und ein Besucher ruft deine Website auf, lรคdt WordPress das Child Theme inklusive dessen Dateien und ruft anschlieรend alle fehlenden Stile und Funktionen des Parent Themes ab.
Das Parent Theme darf natรผrlich nicht gelรถscht werden. Ein Child Theme ist eine Ergรคnzung, keine Ersatz!
Wann sollte ich ein Child Theme verwenden?
Eine Sache sorgt bei vielen WordPress-Nutzern und mรถglicherweise auch bei dir fรผr Verwirrung:
Nicht jeder muss unbedingt ein WordPress Child Theme erstellen und nutzen, aber wann wird eins benรถtigt?
Ob du eines brauchst, hรคngt davon ab, ob du รnderungen in den Dateien deines Parent Themes vornehmen mรถchtest und auf welche Weise du das CSS deines Parent Themes anpasst.
Nutzt du den Customizer, die Optionen deines Themes oder ein Plugin fรผr CSS Code, werden die รnderungen in die Datenbank geschrieben und somit bei einem Themeupdate nicht gelรถscht und musst kein Child Theme verwenden.
Anders sieht es aus, wenn du Dateien verรคndern mรถchtest, die im Theme-Ordner gespeichert sind. Dazu zรคhlen
- Bearbeiten der CSS Styles in der style.css
- Verรคndern einer der zahlreichen PHP-Vorlagen des Themes
- Hinzufรผgen neuer Funktionen in der functions.php
- Verรคndern der im Ordner des Themes liegenden Javascript-Dateien und Bilder
Trifft das auf dich zu, solltest du dir ein Child Theme in WordPress erstellen, damit du diese Dateien in dem Child Theme Ordner speichern und somit sichern kannst.
Jetzt weiรt du, wie du ein WordPress Child Theme erstellen und konfigurieren kannst. Du kannst in diesem Child Theme nun รnderungen an den Dateien vornehmen, ohne dass sie bei Updates verloren gehen.
Nutzt du ein WordPress Child Theme und wenn ja, an welcher Datei nimmst du was fรผr รnderungen vor? Hinterlasse mir einen Kommentar!
Zwei Fragen, die mich beim Thema Child-Theme immer beschรคftigen:
– blockiere ich durch das Child-Theme nicht wichtige – ggf. sicherheitsrelevante – Updates des Parent-Themes, wenn ich in meinem Child-Theme die alten ggf. fehlerhaften Codes behalte?
– andersrum, wenn die รnderungen des Parent-Themes grundsรคtzlich sind, z.B. Hooks ganz anders aufgehรคngt werden oder Variabeln wegfallen, kann es dann nicht passieren, dass mein Child-Theme dann trotzdem nicht mehr funktioniert?
Andersgefragt, fahre ich nicht mit einer sauberen Dokumentation – auรerhalb der Theme-Code-Dateien – und einem regelmรครigen Back-Up besser als mit einem Child-Theme, auch wenn das ggf. etwas aufwรคndige ist?
Moin Klaus,
– nur, wenn du die kompletten Codes aus dem Muttertheme รผbernimmst. Im besten Fall ergรคnzt du nur einzelne Code-Zeilen.
– das musst du fรผr dich entscheiden. Grundsรคtzlich werden Themes sehr selten komplett neugeschrieben, wodurch dieser Fall kaum vorkommen wird (mir ist er noch nicht begegnet).
Grรผรe
Jonas
Hallo Jonas,
fรผr einen Kunden fรผge ich die Schriften grade alle manuel ein.
Ich habe die Schriften รผber FileZilla in den fonts Ordner geladen und den Code in den style.css des Child Themens eingefรผgt.
Ich habe auch das Plugin Autoptimize installiert und die Google Schriften entfernt.
Schaue ich mir aber den Quellcode an wird mir noch immer das angezeigt:
https://fonts.googleapis.com/css?family=Comfortaa:300,400,700
Hast Du eventuell noch eine Idee woran es liegen kรถnnte?
Um folgende Seite handelt es sich: https://daniela-meissner.de
Liebe Grรผรe von Ilona Kรผppers
Wie ich sehe, hast du die letzte Verbindung zu den Google Servern auch gefunden und gekappt, sehr gut ๐
Kann man – nachdem man das Child Theme mittels Plugin erstellt hat – dieses Plugin wieder lรถschen? Oder bringt das irgendwelche Nachteile/Probleme und sollte es besser installiert bleiben?
Ja das kannst du wieder lรถschen, das Child-Theme bleibt bestehen.
Moin, ich habe versucht, manuell ein Child theme zu erstellen, aber das gab einen technischen Fehler. Ich habe dabei deinen Text fรผr die functions.php direkt per copy und paste รผbernommen.
Diese Mitteilung bekam ich von Wordpress zugemailt:
Fehler-Details
==============
Ein Fehler vom Typ E_PARSE wurde in der Zeile 6 der Datei /www/htdocs/w012c2dd/angela-carstensen.com/wp-content/themes/twentytwentythree-child/functions.php verursacht. Fehlermeldung: syntax error, unexpected token „?“, expecting end of file
Ich habe jetzt erstmal den alten Zustand wieder hergestellt und Twentytwentythree wieder aktiviert. Mir kommt das trotzdem mysteriรถs vor. Kann das Problem daran liegen, dass ich irgendwo im Templatenamen in der CSS LEerzeichen habe, die da nicht hingehรถren?
Lieben Dank fรผr Deine extrem nachvollziehbaren und wertvollen Anleitungen, ich habe am Freitag letzter Woche quasi bei Null angefangen und bisher ging alles ruckelfrei und ich mache nur noch die letzen Schรถnheitsoperationen. Wie zum Beispiel Fonts.
Liebe Grรผรe
Angela
Moin Angela,
hmm die Fehlermeldung weist darauf hin, dass in Zeile 6 deiner functions.php Datei ein unerwartetes Fragezeichen eingebaut ist… Lass mal das ?/> in Zeile 6 weg.
Grรผรe
Jonas
So habe ich das auch verstanden. Kann sein, dass ich das nochmal ausprobiere, jetzt habe ich ganz faulpelzig doch das Plugin genutzt. Vielen Dank!