Die Antwort lautet „WordPress Child-Theme“

In Foren lese ich häufig Fragen zu WordPress-Themes, die sich meistens mit einem einzigen Begriff beantworten lassen: Child Theme!

Ich lege hier kurz dar, was ein Child Theme ist und warum ihr als WordPress Nutzer darauf zurückgreifen solltet, anstatt das vorhandene Theme ungünstig zu verbiegen.

Was ist ein WordPress Child Theme?

Da müssen wir erst einmal klären, was ein WordPress Theme ist.

Eure im WordPress Blog geschriebenen Beiträge, Seiten, Bilder sowie hinterlegten Audio- und Videodateien müssen ja für die Webbenutzer in einem strukturierten Gerüst dargestellt werden. Dieses Gerüst besteht aus mehreren Dateien (PHP, CSS, JavaScript usw.), die Template-Dateien genannt werden und jeweils ein Theme bilden.
Ein Theme ist also eine genau definierte Ansammlung von Dateien, die für die Darstellung eurer WordPress Seite verantwortlich sind.

WordPress Themes gibt es von simpel (mit nur wenigen Template Dateien) bis hochgradig komplex (mehreren hundert Template Dateien).

Nun bietet WordPress die Möglichkeit, auf der Basis eine Themes (das dann zum sogenannten parent Theme wird) ein Child Theme anzulegen. Also einen Abkömmling.
Wie das in Familien so ist, stehen alle Angehörigen in verwandtschaftlichen Beziehungen zueinander. In unserem Fall erbt dieses „Kind-Theme“ alle Eigenschaften des „Eltern-Themes“. Und damit das child Theme nicht nur eine billige 1:1 Kopie des parent Themes ist, steht es dem Designer frei, gewisse (vererbte) Funktionen nach eigenen Wünschen abzuändern während andere Eigenschaften so wie im Parent Theme belassen werden. Um mal in unserem Beispiel mit der Familie zu bleiben: Ihr findet es toll, dass der Abkömmling 2 ebenso starke Arme wie ein Elternteil geerbt hat, aber statt nur 2 Augen wollt ihr 3 haben. Also behaltet ihr die 2 starken Arme einfach bei und fügt zu den ebenso vererbten 2 Augen ein drittes hinzu. Toll, oder?

Wie das geht und und was man zu der Thematik Parent-/Child-Theme noch sagen kann steht im WordPress Codex, bei t3n oder auch bei elmastudio.

Jetzt werdet ihr euch fragen, wozu der ganze Aufwand gut sein soll, wenn ein Child Theme eigentlich nur der Klon eines Parent (also übergeordneten) Themes ist? Das bringt uns zum nächsten Punkt.

Wann solltet ihr ein Child Theme einsetzen?

Wünscht ihr euch, dass euer Themes dies oder jenes zusätzlich können oder Dinge gänzlich anders machen soll? Entspricht das Layout nicht ganz euren Vorstellungen?
Und vor allem: Können diese Änderungen durch Anpassen des bestehenden Themes (Customize Funktion, Theme Options etc.) oder eventuell Plugins gelöst werden?
Wenn die Antwort Nein lautet, stehen die Chancen gut, dass ihr ein Child Theme einsetzen solltet.

Warum solltet ihr ein Child Theme einsetzen?

Wie ihr im vorigen Beispiel gelesen habt, kann man nicht davon ausgehen, ein perfektes Theme vorzufinden, dass in allen Punkten den eigenen Ansprüchen genügt. Es wäre natürlich verlockend, die Änderungen schnell mal in den Quellcode des Theme (also der Template Dateien) reinzubasteln. Eine Box hier einfügen, eine Farbe dort abändern, hier das Artikelbild weg – jetzt sieht es doch schon viel besser aus …

Wozu also extra ein Child Theme bemühen?

Themes haben die Eigenschaft, dass sie permanent weiterentwickelt werden (zumindest sollte das so sein) und der Theme Entwickler Verbesserungen anbringt, Sicherheitslöcher stopft oder einfach Sachen umprogrammiert. Diese Theme Updates kommen in unregelmäßigen Abständen und überschreiben die Template-Dateien der Vorgängerversion. Ziemlich blöd, wenn ihr eigene Änderungen in den Template Dateien gemacht haben solltet. Die Änderungen sind dann nämlich alle weg!

Da das Child Theme von den Updates des Parent Themes ausgenommen wird, bleiben alle Einstellungen dort erhalten. Es ändert sich nur das, was ihr aus dem Parent Theme übernommen habt. Als übernommen gelten alle Template Dateien, die nicht mit gleichem Dateinamen in der gleichen Ordnerstruktur beim Child Theme angelegt sind. Habt ihr im Child Theme eine Datei namens single.php angelegt und im Parent Theme existiert ebenso eine single.php – dann wird eure single.php verwendet. Bei jeder Template Datei, die nur im Parent Theme aber nicht bei euch im Child Theme Ordner existiert, kommt logischerweise immer das Original zum Einsatz.

Nachteile von Child Themes oder was Ihr im Hinterkopf behalten müsst

Je nachdem, wie hoch der Deckungsgrad zwischen Parent und Child Theme bei euch ist – können kontinuierliche Änderungen im Parent Theme Auswirkungen haben. Wenn ihr das Child nur einsetzt, um minmale Änderungen gegenüber dem Parent Theme anzubringen (z.B. die Bildgröße der Artikelbilder abzuändern) – seid ihr in Sachen Funktionalität und Layout in hohem Maße vom Parent Theme abhängig. Wenn sich der Theme Entwickler plötzlich entscheidet, sein Theme ganz anders zu gestalten und ihr dieses Update einspielt, sieht eurer WordPress-Blog auch dementsprechend so aus.
Andererseits, wenn ihr so viele Änderungen am Child Theme anbringt, dass fast alle Template Dateien und das Layout als neu gestaltet betrachtet werden können, solltet ihr euch fragen, ob hier das Parent-Child-Theme Konzept wirklich die richtige Entscheidung war. In diesem Falle lohnt es sich eher, ein eigenes Theme zu programmieren und das mit den gewünschten ein, zwei Funktionen des Basis-Themes auszustatten.

Und noch etwas gilt es zu beachten: Auch wenn ihr mit einem Child Theme auf der vermeintlich sicheren Seite seid, was Updates am Parent Theme betrifft – das sogenannte Changelog (Änderungsauflistung) beim Parent Theme sollte dennoch eure Aufmerksamkeit haben. Es kann sein, dass der Entwickler Sicherheitslöcher gestopft hat oder veraltete Funktionen entfernt hat, die bei euch noch aktiv sind, weil diese Mißstände  zufällig in den Template Dateien auftreten, die ihr mit eurem Child Theme selbst erstellt/abegändert und somit aus dem Update Zyklus herausgenommen habt.

Zusammenfassung

Trotz der zum Schluss aufgeführten Fallstricke und dem (letztlich doch überschaubaren) Aufwand zum Erstellen eines Child Themes kann diese Technik allen WordPress Betreibern nur empfohlen werden.

Mit einem Child Theme könnt ihr:

  • Layout und Funktionalität eines jeden anderen Themes nutzen
  • Änderungen/Ergänzungen optischer und funktionaler Art anbringen
  • vom Können und der Arbeit professioneller Theme Entwickler profitieren

ohne Angst haben zu müssen, dass ein Theme Update alles überschreibt.

Der vermutete Aufwand und die Schwierigkeiten sind gar nicht so groß, wie man annehmen könnte. Zumal es mit Child Themify, Child Theme Configurator und noch mehr Plugins kleine Helferlein gibt, die alles auf Knopfdruck anlegen.

Schreibe einen Kommentar

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