Childthemes (im Deutschen auch Kindthemen) sind einer mit der besten Dinge von WordPress. Insbesondere wenn man Multisite (auch Multiblog genannt) einsetzt, ist damit ein mächtiges Werkzeug gegeben. Allerdings setzen wohl die meisten Webmaster diese gar nicht ein und aktualisieren deshalb Ihre Themes nicht, da sie meistens auch individuelle Änderungen vorgenommen haben. Childthemes schaffen hier sehr simpel Abhilfe.
Hintergrund von Childthemes
Das oben gennante ist einer mit der wichtigsten Begründungen für die Childthemes. Diese kann man individuell anpassen (und oftmals auch nur die entsprechenden Dateien in den Ordner kopieren, alles was nicht angepasst wird, muss nicht kopiert werden) und dennoch die Updates des Original Themes einspielen, ohne dabei seine individuellen Änderungen zu verlieren.
Ein weiterer Grund sind aber auch nur kleinere Anpassungen des Themes in Multisites. Hier müssen dann nicht unzählige gleiche Themes in den Ordner /wp-content/themes kopiert werden, sondern lediglich das eine Original und für jeden Blog in der Multisite jeweils ein Childtheme mit den gewünschten Änderungen.
Man spart mit Childthemes insbesondere in Multisites teils erheblich Performance in dem Bootstrap-Prozess von WordPress, da WP zunächst beim Initialisierungsprozess (auch Bootstrap genannt) immer erst die Themes im Ordner durchgehen muss (ähnlich verhält es sich auch bei Plugins).
Wie legt man nun ein Childtheme an?
Im Grunde benötigt man für ein Childtheme nur eine style.css, die im Ordner mit folgendem Inhalt angelegt werden muss (als Beispiel anhand des TwentyEleven Themes):
/*
Theme: Childtheme-name
Description: Eine Beschreibung des Childthemes
Version: 1.0
Template: twentyeleven
*/
@import url('../twentyeleven/style.css');
Das war’s schon. Nach Aktivierung des Themes unter Design -> Themes sieht der Blog noch genauso aus wie vorher mit dem TwentyEleven Theme. Allerdings kann man nun in der style.css des Childthemes die Layout-Formatierungen ändern, wie man es haben möchte (unterhalb von @import…) und überschreibt damit die Style-Formatierungen des Originals.
Möchte man nun die Homepage selbst gestalten bzw. anpassen, kopiert man die Datei /wp-content/themes/twentyeleven/index.php in sein Childtheme-Ordner und benennt diese in home.php um. Nun kann man in der home.php seine gewünschten Anpassungen vornehmen und fortan wird auf der Startseite die gewünschte home.php des Childthemes angezeigt.
Was noch zu beachten ist
Um allerdings auch die wichtigsten Aktualisierungen des Original Themes mitzunehmen, sollte man vorsichtig bei der Überschreibung der *.php Dateien auch im Childtheme Ordner sein. Denn nicht selten sind Aktualisierungen des Originals in einigen der *.php Dateien vorgenommen worden, die in der kopierten Variante des Childthemes nach einem Update nicht übernommen werden.
Die Lösung dazu ist, entweder die überarbeiteten Dinge aus dem Original auch in die entsprechende Datei im Childtheme Ordner zu übertragen oder aber – sofern das Theme auch korrekt aufgebaut wurde – entsprechende Abfragen etc. mit den WP eigenen Hooks in einer eigenen functions.php unterzubringen. Aber dies ist Futter für einen späteren Artikel.