Coding | PHP | WordPress

WordPress: Warum die Verwendung eines Childthemes öfter Sinn machen könnte als nicht

baby elephant 222978 1920

Das Angebot an Theme-Lösungen für WordPress ist gigantisch. Wer lange genug sucht und testet hat gute Chancen, sein Theme zu finden, auch wenn vielleicht nicht in jedem Detail. Was noch nicht entspricht, kann oder lässt man dann einfach anpassen. Updates zugunsten von Anpassungen an Originaldateien unterlassen zu müssen ist aus Gründen von Nachhaltigkeit und Sicherheit keine Empfehlung.

Um zu vermeiden, dass Änderungen verloren gehen sobald ein freies oder gekauftes Theme einmal upgedated wird, sollte für individuelle Anpassungen immer ein Childtheme (auf Deutsch hauptsächlich mit Ergänzungstheme übersetzt) angelegt werden. Hier ist dann auch der Ort für die functions.php die Code Snippets die nicht verloren gehen sollen einen Raum gibt.

WordPress ist so konzipiert, dass man es flexibel anpassen und erweitern kann, ohne je eine Originaldatei modifizieren zu müssen. In die Ausgabe von Inhalten kann man mit Filtern eingreifen (und zum Beispiel was voranzustellen, anzuhängen oder komplett umzuschreiben). Über so genannte Hooks hingegen lässt sich zusätzlich Funktionalität einschleusen. Themes wiederum sind über ein Childtheme erweiterbar. Die ursprünglichen Funktionalität des Themes steht einem weiterhin zur Verfügung, plus allem, was das Childtheme zusätzlich mitbringt.

Bei Projekten die auf einem ausgesuchten fertigen Theme aufbauen verwende ich immer ein Childtheme, selbst wenn es noch gar keine Änderungswünsche gibt. Diese kommen oft genug erst dann ans Licht, wenn die Website mit den eigenen Inhalten befüllt nochmal begutachtet wird, bevor sie online geht. Manches kann, je nach Theme, mit Hilfe der Konfiguration behoben werden, manches vielleicht nicht. Und wer weiß, was die nächsten Monate noch bringen. Für diese Fälle mit einem Childtheme parat zu sein ist meist weniger aufwendig als nachträglich auf eines umstellen zu müssen. Schlimmstenfalls müsste das Design von Grund auf neu konfiguriert werden.

Ein Childtheme ist in wenigen Minuten angelegt. Für den Anfang braucht man dafür nur ein Verzeichnis und eine Datei style.css mit den Theme-Informationen für WordPress. Je nach Art und Weise wie die Stile das Hauptthemes eingebunden sind, ist vielleicht noch eine Datei namens functions.php erforderlich. Damit werden von vornherein Einstellungen unter dem Namen des Childthemes gespeichert und gehen nicht verloren, wenn der erste Änderungswunsch auf den Plan tritt, und man tatsächlich ein Childtheme braucht.

Ein Childtheme für twentyfifteen
Ein Childtheme für twentyfifteen, es kann einen beliebigen Namen haben

style.css (notwendig)

/*
 * Theme Name: Mein Childtheme
 * Description: Child theme für mein Projekt
 * Template: twentyfifteen //1
 * Version: 1.0.0
 */

1) Beispiel, kann ein beliebiges anderes Theme sein

Sobald das Verzeichnis mit der style.css unter den Themes abegelegt ist, bietet einem WordPress an, es zu aktivieren. Falls das Theme dann keine CSS-Stile hat, braucht es noch eine functions.php um die CSS-Stile des Hauptthemes einzubinden. Die Alternative ist, die Stile von der alten in die neue CSS-Datei zu kopieren und dann zu modifizieren, was man sich anders wünscht.

functions.php (optional)

function mytheme_style_enqueue() {
    wp_enqueue_style('parent-theme', get_template_directory_uri().'/style.css'); //1
    wp_enqueue_style('child-theme', get_stylesheet_directory_uri().'/style.css'); //2
}
add_action('wp_enqueue_scripts', 'mytheme_style_enqueue');

1) nicht erforderlich, wenn die Stile des Hauptthemes in die eigene CSS-Datei kopiert und da modifiziert werden.
2) nur erforderlich, wenn in der style.css eigene Stile definiert sind.

Es gibt Fälle, da werden die Stile eines Hauptthemes in einer anderen CSS-Datei als style.css definiert. Dann muss stattdessen diese Datei eingebunden werden, oder die Stile daraus kopiert.

Ein Childtheme kann eigene Templates haben, oder man kopiert bestehende hinein und passt sie an. WordPress wird dann automatisch diese vorziehen. Es kann eigene Widgetbereiche mitbringen, zusätzliche Funktionen haben und vieles mehr. Allerdings müssen individuelle Erweiterungen auch individuell gepflegt werden. Nach Updates am Haupttheme braucht das Childtheme womöglich Anpassungen, und das sind umso weniger, je sparsamer die vorgenommenen Anpassungen sind.

Wer ein individuelles und exakt auf seine Anforderungen und Vorstellungen hin entwickeltes Theme hat, braucht natürlich kein Chldtheme, denn Anpassungswünsche werden auch weiterhin direkt am Originaltheme vorgenommen.

weiter schmökern

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.