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.
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.
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.
Schreibe einen Kommentar