Von allen guten und bösen Geistern verlassen

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 Kommentare

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

DSGVO Cookie Consent mit Real Cookie Banner