WordPress Child Theme

WordPress Child Theme

Für WordPress gibt es eine riesige Auswahl an Themes. Die Vielfalt zeigt sich nicht nur im Design, sondern auch im Preis. Neben unzähligen kostenlosen, freien Themes, gibt es auch welche zum kaufen — oder welche, für die man eine Art Abo abschließen muss.

Bei den Themes zum kaufen liegt man im Schnitt bei rund 50 Dollar. Berücksichtigt man Aufwand und zeitlichen Umfang, wenn man ein Theme von Grund auf selber entwickelt, ist das meiner Meinung schon geschenkt. Mittlerweile bin ich daher auch stärker als früher bereit, Geld für ein fertiges Theme zu zahlen.

Unsplash / Pixabay

Die riesige Auswahl ist mitunter auch eine Qual, den genau das Theme zu finden, welches zu 100% auf die eigenen Bedürfnisse passt, kann mitunter sogar Tage dauern. Oft genug endet es (zumindest bei mir) damit, dass ich ein Theme (kostenlos oder gekauft) als Grundlage nehme. Meistens sind es dann wirklich nur noch kleine Änderungen, bis ich ein fertiges Ergebnis habe, mit dem ich zufrieden bin (oder der Kunde).

Für viele der Themes gibt es ab und Updates, mit denen Fehler behoben oder neue Funktionen zur Verfügung gestellt werden. Je beliebter ein Theme ist (oder je besser es sich verkauft), desto größer ist die Wahrscheinlichkeit, dass es auf dieses Weise über Jahre hinweg gepflegt wird.

Die regelmäßigen Updates stellen allerdings für die oben erwähnten Veränderungen ein Problem dar, denn sie werden überschrieben, sofern man aus Unkenntnis oder Faulheit am Original geschraubt hat. Aus diesem Grund gibt es seit einigen Jahren die so genannten Child Themes in WordPress.

Sucht man im Internet nach den Stichworten „Child Theme WordPress“ findet man einige Artikel dazu. Was auch dran liegt, dass es diese Möglichkeit schon länger gibt. Grundsätzlich gibt es zwei Methoden. Ausgangspunkt ist in jedem Fall ein eigener Ordner im Verzeichnis „themes“ von WordPress und dort eine Datei mit dem Namen „style.css“.

Die Mindestangaben sind ein paar Parameter, die in Form eines Kommentarblocks festgelegt werden:

/*  Theme Name:   Jumpstreet
Theme URI:    http://wildbits.de/
Description:  A simple Child Theme for sweet Sixteen
Author:       Thomas Boley
Author URI:   http://www.thomas-boley.de
Template:     twentysixteen
Version:      1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

Anfangs wurden die CSS-Einstellungen des Eltern-Themes über den Befehl @import angebunden:

@import url('../twentysixteen/style.css');

Kann man so machen, funktioniert auch, es gibt allerdings einen deutlich besseren Weg. Der @import-Befehl verhindert, dass CSS-Dateien parallel geladen werden können und wirkt sich entsprechend negativ auf die Performance aus.

Deutlich besser ist es daher, den Empfehlungen des WordPress Codex zu folgen und die Funktion wp_enqueue_style zu verwenden. Dazu wird im Ordner des Child-Thems die Datei functions.php benötig. In dieser lassen sich dann auch die weiteren Änderungen am Theme realisieren. Die vollständige Einbindung der CSS-Datei des Eltern-Themes sieht so aus:

<?php
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
?>

Um die Versionsnummer so wie die Angabe, für welche Ausgabegeräte (in diesem Beispiel alle) die CSS-Datei geladen werden soll zu ergänzen, wird die entsprechende Zeile so erweitert:

wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array(), '1.0', 'all' );

Hier wäre dann als Versionsnummer 1.0 verwendet sowie media=“all“ gesetzt.

3 Replies to “WordPress Child Theme”

Kommentar verfassen

über Thomas Boley

Geboren wurde ich im Jahre des Herren 1971 in Wesel am Niederrhein – die Kommentare an dieser Stelle bezüglich des Bürgermeisters bitte verkneifen! Mein Verhältnis zu dieser Stadt würde wohl den Umfang dieser Seite sprengen. Nur soviel sei gesagt: Es ist durchaus durchwachsen, worin es sich aber nicht von meinem Verhältnis zu Bielefeld unterscheidet. Nach dem üblichen Werdegang (Kindergarten, Schule, Abitur, Zivildienst) und den üblichen jugendlichen Irrungen und Wirrungen verschlug es mich zum Studium nach Bielefeld verschlagen. 18 Jahre später ging es dann zurück an den Rhein, in die Domstadt Köln. mehr erfahren