Design Wordpress

Tutorial: Child Theme erstellen und Einstellungen migrieren

Child Themes sind immer dann zu empfehlen, wenn Anpassungen am Code vorgenommen werden müssen, ohne dass diese mit einem Update wieder überschrieben werden. In diesem Tutorial zeige ich dir, wie du dein eigenes Child Theme erstellst und Einstellungen aus dem Parent-Theme übernehmen kannst.

Warum sollte ein Child Theme verwendet werden?

Child Themes sind vor allem dann wichtig, wenn Anpassungen am Code vorgenommen werden müssen. Änderungen am CSS-Code können natürlich am Code des Parent Themes vorgenommen werden. Diese werden allerdings überschrieben, sobald ein Update vom Autoren des Templates verteilt wird. Ein Child Theme holt sich den gesamten Code aus dem Parent Theme Ordner, bezieht aber Änderungen über den eigenen Ordner in die Darstellung mit ein. Heißt: Änderungen werden komplett seperat gespeichert und können durch ein Update des Parent Themes nicht überschrieben werden.

Wie kann ich ein Child Theme erstellen?

Child Theme

Um ein funktionierendes Child Theme zu erstellen sind grundsätzlich nur zwei Dateien nötig. Das ist einmal die style.css und die Datei functions.php. Diese Dateien definieren zum einen, auf welches Parent Theme sich das Child bezieht und holen die verwendeten Ressourcen aus dem Eltern-Theme.

functions.php

Die Datei functions.php ist dafür verantwortlich, die Dateien aus dem Eltern Theme im Child Theme darzustellen. Hierfür wird die style.css aus dem Parent Theme eingebunden, die alle weiteren Informationen zum übergeordneten Theme liefert:

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

Alle weiteren Änderungen, die du in dieser Datei einfügst betreffen das Theme und haben nichts mehr mit dem Child-Theme zu tun.

style.css

In der style.css speicherst du die Informationen deines Child Themes. Hier werden nicht nur Name und Autor des Child Themes hinterlegt. Hier muss auch der Name des Parent Themes hinterlegt werden kopiere dir also am besten den nachfolgenden Code und ergänze die entsprechenden Felder:

/*
 Theme Name: Name des Child Themes
 Theme URI: URI des Child Themes
 Description: Beschreibung des Child Themes
 Author: Dein Name
 Author URI: URI des Child Theme Autors
 Template: Name des Child Themes
 Version: Versionsnummer (z.B. 1.0)
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: Tags für das Child Theme
*/

Wichtig ist, dass du unbedingt den richtigen Namen deines Templates in die style.css einträgst. Passiert das nicht, können die Dateien deines Parent Themes nicht geladen werden. Orientiere dich hier am besten am Namen des Parent Theme Ordners.

screenshot.png

Wie auch bei Parent Themes kannst du Child Themes ein entsprechendes Bild anfügen. Dieses am besten einfach in den Child Theme Ordner als screenshot.png einfügen. Anschließend wird dieses Bild im WordPress Backend zu deinem Child Theme dargestellt.

Umgang mit Theme-Dateien

Der Umgang mit Theme-Dateien ist eigentlich relativ einfach geregelt. Grundsätzlich werden erst einmal alle Dateien aus dem Child Theme Ordner geholt. Gleichnamige Dateien aus dem Parent Theme Ordner werden dann ignoriert. Als Ausnahme kann man hier allerdings die zwei oben genannten Dateien functions.php und style.css ansehen. Da hier für das Theme wichtige Dateien hinterlegt sind, werden alle hier hinterlegten Informationen an den Code des Parent Themes angehängt.

Nachfragen kostet nichts

Auch wenn die Erstellung eines Child Themes nicht lange dauert, kannst du dir diese meist sparen. Viele Theme-Entwickler legen nämlich ein vorgefertigtes Child Theme bereits beim Kauf mit bei. Alternativ kostet es natürlich auch nichts, einfach mal bei dem entsprechenden Entwickler nachzufragen 🙂 .

Einstellungen migrieren

Normalerweise sollte von Beginn an klar sein, dass Änderungen am Code vorgenommen werden und dementsprechend ein Child Theme nötig ist. Es gibt allerdings auch Fälle, in welchen Child Themes erst nachträglich hinzugefügt werden. Änderungen, die im Anpassen-Modul des Backends vorgenommen wurden, gehen durch den Theme-Wechsel nämlich verloren.

Über die MySQL-Datenbank ist es aber möglich, die entsprechenden Einstellungen auf das Child Theme zu übernehmen.

Wechsle hierfür am besten in das Tool phpMyAdmin und führe folgenden SQL-Befehl aus:

SELECT * FROM  `wp_options` WHERE option_name =  "theme_mods_themename"

Wichtig ist, dass du statt themename den Namen deines Parent Themes eingibst. Alternativ kannst du den Eintrag natürlich auch manuell aus der Tabelle wp_options herausfinden. Kopiere anschließend den Wert aus der Spalte option_value. Wenn du anschließend das Child Theme hochgeladen und aktiviert hast, wird ein neuer Eintrag mit dem Namen “theme_mods_childtheme” in der Tabelle wp_options erscheinen. Füge den kopierten Wert in die Spalte option_value ein. Anschließend werden die Einstellungen aus dem Parent Theme in das Child Theme übernommen.

Bitte erstelle vor Änderungen an der Datenbank immer ein aktuelles Backup. Sei dir außerdem vollkommen sicher, was du tust. WPTIMES übernimmt keine Haftung für auftretende Schäden an deiner WordPress-Installation.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.