WordPress Child Theme: Wie und warum?
Bereits seit längerer Zeit hat eine neue Funktionalität seinen Weg in die heimischen WordPress Blogs gefunden: Das WordPress Child Theme. Doch was hat es sich damit auf sich? Warum solltet ihr ein WordPress Child Theme verwenden? Und wie macht ihr das? Ich werde versuchen, diese Antworten nachfolgend bestmöglichst zu beantworten. ;)

Warum ein WordPress Child Theme?

Fangen wir zunächst mit der Frage “Warum und wieso überhaupt?” an. Ich muss zugeben, dass ich diese Funktion damals, als WordPress sie eingeführt hat, für einige Zeit nicht verstanden habe und mir auch nicht bewusst war, warum ich das ganze machen sollte – als Ausrede passt hier wohl am besten, dass ich ein WordPress Child Theme nicht benötigt habe, da ich Themes an und für sich immer von Grund auf selbst programmiert hab und eigentlich nie die Standard-Themes oder gar Premium-Themes in Verwendung hatte.

Doch irgendwann – spätestens wenn es an Geschichten wie Responsive Webdesigns, etc., geht, wird es ganz einfach zu mühsam, Themes komplett selbst zu programmieren. Also müssen nun vorgefertigte Themes herhalten und genau da fangen unsere Probleme an: Alle paar Wochen oder Monate gibt es eine neue WordPress Version und Themes-Entwickler müssen hin und wieder mal ran, um ihre Themes zu überarbeiten – schließlich soll Funktionalität erhalten werden und die eine oder andere Verbesserung ist ja auch nicht unvorteilhaft. ;)

Aber – was, wenn ihr euren Blog individualisiert habt? Hier ne Änderung im Layout, dort ne Anpassung im Stylesheet? Dann kommt ein Theme-Update daher und schwubbdiwubb ist alles weg! Sowas ist doch Kacke, oder?

Und genau deshalb gibt es die Möglichkeit, ein WordPress Child Theme anzulegen!

Wie funktioniert das nun mit diesem WordPress Child Theme?

Alles in Allem ist das keine große Hexerei – und spart euch garantiert eine Menge Zeit und Ärger! ;)

Schritt 1: Themes Ordner anlegen

Ihr geht dazu ganz einfach in den Themes-Ordner von eurer WordPress Installation und legt dort einen neuen Ordner an. Benennt ihn am Besten “child-themename”, damit ihr zukünftig nicht allzu lange danach suchen müsst.

Schritt 2: Style.css anlegen und editieren

Geht in den neuen Ordner rein und legt eine style.css Datei an. Öffnet diese mit einem Editor eurer Wahl und kopiert folgende Codezeilen hinein:

Hier eine kleine Erklärung, was all diese Zeilen bedeuten:
Theme Name, Description, Author, Author URI und Version sind an und für sich nur Details, die in der Theme-Verwaltung im WordPress Backend zu sehen sind.

Template ist der Verweis des Child Themes auf das Haupt-Theme – hier müsst ihr auf jeden Fall den Ordner-Name (!) eures Haupt-Themes hinschreiben. (Wichtig! Der Ordner-Name muss nicht unbedingt mit dem Theme übereinstimmen, seht also im Themes-Ordner eurer WordPress Installation nach, wie der genaue Name des Ordners ist!).

Der @import-Befehl importiert bzw. ladet die Stylesheet-Angaben aus der style.css des Haupt-Themes – hier müsst ihr also das Trim ebenfalls gegen den Ordner-Namen eures Haupt-Themes austauschen. Dieser Befehl ist ebenso wichtig wie die Template-Angabe, da dadurch das WordPress Child Theme das Aussehen vom Haupt-Theme behält.

Wenn ihr beispielsweise das Twenty Eleven Theme in Verwendung habt und einige Anpassungen machen möchtet, dann sollte folgendes drinnen stehen:

Habt ihr die Template und @import Zeile korrekt gesetzt, speichert die style.css Datei ab. Nun könnt ihr in der WordPress Administration bei den Themes das neue Child Theme anwählen und aktivieren. Euer Blog sollte nun genau gleich aussehen und gleich funktionieren wie bei der Verwendung des Haupt-Templates.

Schritt 3: Der Kreativität freien Lauf lassen!

Nun ist der Weg geebnet für eure Anpassungen. In der style.css könnt ihr so wie immer Styles definieren oder ändern. Ihr müsst dazu lediglich den jeweiligen Style-Typ, die Klasse oder ID reinschreiben und den Style davon festlegen. WordPress überschreibt automatisch den Style dieses Elements vom Haupt-Theme.

Doch nicht nur Styles könnt ihr damit anpassen, auch alle anderen Template-Dateien sind änderbar. Wollt ihr beispielsweise Änderungen in eurer single.php vornehmen? Dann legt einfach eine single.php in eurem neuen WordPress Child Theme Ordner an, kopiert die Inhalte aus der single.php des Haupt-Themes und führt die Änderungen durch.

Einzig und allein bei der functions.php müsst ihr aufpassen: Grund dafür ist, dass WordPress zunächst die Funktionen aus der functions.php im Child Themes Ordner initialisiert und anschließend die Funktionen aus dem Haupt-Theme. Wenn ihr also eine Funktion überschreiben wollt, müsst ihr vorher nachsehen, dass diese Funktion im Haupt-Theme mit folgender Funktion angelegt wird:

Sollte dies nicht der Fall sein, wird die Funktion erneut initialisiert – was euch mit einem netten Fehler begrüßt, da Funktionen in PHP nur einmal initialisiert werden können. In der Regel sind Themes – vor allem neue und Premium-Themes – aber auf solche Anpassungen in der functions.php ausgelegt und verwenden den function_exists Check vor dem Anlegen einer neuen Funktion. Sollte das nicht der Fall sein, ist es ratsamer einen anderen Funktionsnamen zu wählen und den Funktionsaufruf in den Template-Dateien auszutauschen.

Sooo, nun seid ihr ready für dein Einsatz von WordPress Child Themes – wie ihr gesehen habt, gibt es keinen Grund, diese nicht zu verwenden. ;)

Was sagt ihr dazu? Setzt ihr ab jetzt auch WordPress Child Themes ein? ;)