WordPress Child Themes – auch mit Theme Anpassungen updatefähig bleiben
Wir verwenden oft Themes, die mit der Zeit Updates erhalten. Je nach durchgeführter Modifikation der Templates und Styles ist ein Update jedoch nicht durchführbar, da sonst die durchgeführten Anpassungen überschrieben werden.
Für dieses Problem gibt es so genannte “Child Themes”, die bei einigen Theme Anbietern gleich mitgeliefert werden, aber auch ganz schnell selbst erstellt werden können.
Ein Child-Theme erbt die Funktionalität und das Layout seines Parent-Theme. Im Child-Theme können beliebige Anpassungen und Erweiterungen vorgenommen werden, ohne das Parent-Theme zu verändern.
Um ein Child-Theme zu einem bestehenden Theme (Parent-Theme) zu erstellen, legt man auf der Ebene des Parent-Theme Ordners einen weiteren Ordner für das Child-Theme an. Diesen Ordner kann man beliebig benennen.
- wordpress root
- wp-content
- themes
- Parent-Theme
- Child-Theme
- themes
- wp-content
Eine einzige Datei muss in dem Child-Theme Ordner vorhanden sein: eine “style.css“, die in ihren Meta Angaben eine Verbindung zum Parent-Theme herstellt. Diese Datei ersetzt (!) die style.css des Parent-Theme.
Meta Daten des Style Sheet:
/*
Theme Name: Parent-Theme-Child //(Pflicht) Name des Child-Themes
Theme URI: http://meine-url.de/ //(optional) Website des Child-Theme
Description: Theme für Anpassungen Projekt XY //(optional) Beschreibung des Child-Themes
Author: Nina Taberski-Besserdich //(optional) Name des Authors.
Author URI: http://meine-url/ich/ //(optional) website des Authors
Template: Parent-Theme //(Pflicht) Verzeichnis des Parent Themes, case-sensitive
Version: 0.1.0 //(optional) Child-Theme Version
*/
Nach diesen Angaben kann mit Standard Stylesheet Angaben begonnen werden. Da dieses Style Sheet die style.css des Parent-Themes ersetzt, ist es in den meisten Fällen sinnvoll, dieses zu importieren:
/*
@import url('../parentthemefolder/style.css');
*/
Dann können Anpassungen und Ergänzungen gemacht werden.
Das Child-Theme ist automatisch in den WordPress Einstellungen bei den Themes verfügbar. Hinterlegt man noch eine Grafik mit der Bezeichnung “screenshot.png”, wird dieses Bild in der Themeauswahl angezeigt.
Neben dem obligatorischen Style Sheet kann man im Child-Theme viele weitere Anpassungen machen, z.B. an der functions.php oder an den Template files. In diesem Fall sind die Dateien einfach nur hineinzukopieren bzw. neu anzulegen. Die Verbindung erfolgt zum Parent-Theme erfolgt nur über die Angaben im Style Sheet.
Für besserdich.com habe ich im Style Sheet das Parent-Theme Style Sheet importiert und meine Veränderungen eingefügt. Außerdem habe ich die Datei category.php und in den Child-Theme Ordner kopiert und etwas angepasst, um die Darstellung der Kategorie-Archive zu modifizieren.
Wenn man Änderungen nur noch im Child Theme durchführt, sind Updates des Parent Themes ab sofort kein Problem mehr.
Mitdiskutieren