+49-172-844 35 97

Opso-Consulting
Carsten Lohr
Pendlingstr. 8
83088 Kiefersfelden

WordPress Themen richtig anpassen (Child Themes)

WordPress eignet sich hervorragend als Content Management System für kleine bis mittlere Webseiten.
Vor allem die riesige Menge an frei verfügbaren Designs, WordPress Themen genannt, die auch in eine bereits bestehende Seite mit wenigen Mausklicks einfach mal so zum Testen eingebunden werden können ermöglicht es auch bei mit einem kleinen Budget ein aktuelles und vor allem sauber programmiertes Layout zu bekommen.
Die vorhandenen Designs können dabei relativ einfach durch Änderungen an der zentralen Stylesheet-Datei style.css angepasst werden.
Bis zum nächsten Update des Themas funktioniert das auch einwandfrei. Wird allerdings das Thema auf einen neueren Stand gebracht wurde dabei bisher immer auch die angepasste Style Datei überschrieben und musste nachher wieder um die Anpassungen erweitert werden. Vor allem bei Themen die mehrmals im Jahr auf den neuesten Stand gebracht werden
ist dies durchaus ein nicht zu vernachlässigender Kostenfaktor.
Viele WordPress-Anwender verzichten deshalb oft auf ein Update des Themas und handeln sich dabei im harmlosen Fall Inkompatibilitäten mit neueren Browserversionen oder im schlimmsten Fall gefährliche Sicherheitslücken ein.
Seit der Version 3.0 bietet WordPress hier mit den sogenannten Child-Themas eine sehr elegante Möglichkeit diese nachträglichen Anpassungsarbeiten zu minimieren.
Ein Child-Thema muss man sich dabei wie eine Erweiterung des ursprünglichen Themas vorstellen. Allerdings stehen die Erweiterungen nicht mehr im Verzeichnis des ursprünglichen Themas,
sondern in einem neuen Verzeichnis. Das urprüngliche Thema kann so weiterhin auf dem aktuellen Stand gehalten werden, ohne dass die eingebauten Erweiterungen oder Änderungen überschrieben werden.
Die Vorgehensweise zur Verwendung eines Child-Themas ist absolut einfach.
Zunächst ist im Themen-Verzeichnis ../wp-content/themes/ ein neues Verzeichnis mit einem beliebigen bisher nicht vorhandenen Namen anzulegen.
In dieses Verzeichnis muss die Datei style.css des gewünschten Parent-Themas kopiert werden.
Der Kopfbereich dieser style.css ist wie folgt anzupassen:

Theme Name:     ein beliebiger Name für das neue Child-Thema (muss angegeben werden)
Theme URI:      die Internetadresse unter der das Thema heruntergeladen werden kann (optional)
Description:    eine Beschreibung des Themas (optional)
Author:         der Author des Themas (optional)
Author URI:     die Internetadresse des Authors (optional)
Template:       der Verzeichnisname des Parent-Themas (muss angegeben werden)
Version:        die Version des Child-Themas (optional)

Beispiel:
/*
Theme Name:     Twenty Eleven Child
Theme URI:      http: //example.com/
Description:    Child theme for the Twenty Eleven theme
Author:         Your name here
Author URI:     http: //example.com/about/
Template:       twentyeleven
Version:        0.1.0
*/

Sollen neben der style.css noch andere Dateien geändert werden, so sind diese auch in das Verzeichnis des Child-Themas zu kopieren.
Die style.css muss jedoch unbedingt im neuen Child-Thema Verzeichnis vorhanden sein, die anderen Dateien sind optional.

Änderungen werden jetzt nur noch im Child-Thema-Verzeichnis durchgeführt. Somit kann das Parent-Thema jederzeit durch eine aktuelle Version ersetzt werden, ohne die Anpassungen zu verlieren.

Die Ladereihenfolge ist dabei folgende:
Zuerst wird die style.css des Parent-Thema geladen, anschließend die style.css des Child-Themas. Damit überschreiben alle in der style.css eingestellten Eigenschaften des Child-Themas die des Parent.
Eine Besonderheit sind Themas, die über einen Einstellungsdialog in der WordPress Admin Oberfläche angepasst werden können. Diese Einstellungen werden erst nach dem Laden des Parent- und des Child-Themas gesetzt und überschreiben so auch die Einstellungen des Child-Themas.
Abhilfe schaft hier die Verwendung des !important Tags im Stylesheet des Child Themas. Die Angabe von !important garantiert die Verwendung der eingestellten Eigenschaft und verhindert eine nachträgliche Änderung.
Beispiel:
#site-title a:active {
color: #009900 !important;
}

Bei der Datei function.php ist die Ladereihenfolge umgekehrt.
Zuerst wird die function.php des Child-Themas und dann erst die des Parent-Themas geladen.
Da Funktionen nicht überschrieben werden können, ist es somit möglich, durch eine neue Definition einer Funktion im Child-Thema eine bestehende Funktion im Parent zu ersetzen.

Alle Template-Dateien im Verzeichnis des Child-Themas überschreiben die Templatedateien des Parents.

Eine detaillierte Beschreibung und weitere Hinweise zur Verwendung von Child-Themas befindet sich auf
http://codex.wordpress.org/Child_Themes

Schlagworte , ,