WordPress ent­wi­ckel­te sich über die Jahre weg von einem einfachen Blog­sys­tem zu einem be­nut­zer­freund­li­chen CMS und ist mitt­ler­wei­le aus dem World Wide Web nicht mehr weg­zu­den­ken. Dank dieser Be­liebt­heit haben sich viele WordPress-Profis darauf spe­zia­li­siert, WordPress-Themes als Vorlage für Websites be­reit­zu­stel­len. Diese bringen schon so gut wie alle Funk­tio­na­li­tä­ten mit sich und ent­spre­chen jeweils auch optisch den un­ge­fäh­ren Vor­stel­lun­gen von Sei­ten­be­trei­bern. Doch eben nur ungefähr. An­pas­sun­gen am Code, um die Seite an das Corporate Design an­zu­pas­sen, oder Än­de­run­gen am Aufbau müssen hier und da noch gemacht werden. Doch was ist mit den Än­de­run­gen, wenn das Theme geupdatet wird? Hier kommen WordPress-Child-Themes in Spiel.

Was ist ein WordPress-Child-Theme?

Um zu vermeiden, dass ein Theme-Update eigene Än­de­run­gen über­schreibt, lohnt es sich, ein WordPress-Child-Theme zu erstellen. Ein WordPress-Child-Theme ist, wie der Name verrät, das „Kind“ eines über­ge­ord­ne­ten (Parent-)Themes. Es ist mit dem Parent-Theme so verknüpft, dass es dessen Aussehen und Funk­tio­nen erbt. Führen Sie in­di­vi­du­el­le An­pas­sun­gen im WordPress-Child-Theme durch, über­schrei­ben diese au­to­ma­tisch die An­wei­sun­gen des Parent-Themes. Än­de­run­gen wirken sich somit nicht auf das über­ge­ord­ne­te Theme aus. Steht ein Update des Parent-Themes an, bleiben die Än­de­run­gen des WordPress-Child-Themes bestehen.

Tipp

Während Sie größere An­pas­sun­gen oder Updates durch­füh­ren, können Feh­ler­mel­dun­gen auf der Website entstehen. Um Nutzer nicht zu ir­ri­tie­ren, sollten Sie den WordPress-War­tungs­mo­dus ak­ti­vie­ren.

Woraus besteht ein WordPress-Child-Theme?

Ein WordPress-Child-Theme kann un­ter­schied­li­che Be­stand­tei­le haben. Aus­schlag­ge­bend sind die Än­de­run­gen, die Sie durch­füh­ren, und in welchen Dateien diese statt­fin­den. Jedoch gibt es gewisse Dateien, die Sie für jedes WordPress-Child-Theme erstellen müssen, damit es rei­bungs­los funk­tio­niert:

Doch wieso benötigt ein WordPress-Child-Theme diese drei Dateien?

WordPress-Child-Themes: Funk­ti­ons­wei­se

Wie bereits erwähnt funk­tio­niert ein WordPress-Child-Theme erst, wenn es die oben genannten Dateien enthält. Die Dateien haben folgende Funk­tio­nen:

  • style.css enthält alle CSS-Regeln und De­kla­ra­tio­nen, die das Aussehen des Themes steuern. Wichtig ist vor allem der Header-Bereich. Hier teilt die CSS-Datei WordPress mit, dass es sich um ein un­ter­ge­ord­ne­tes Theme mit einem be­stimm­ten Parent-Theme handelt, und liefert weitere grund­le­gen­de In­for­ma­tio­nen.
  • function.php bestimmt die Rei­hen­fol­ge, in der die Style Sheets des Parent und WordPress-Child-Themes laden. Damit die Än­de­run­gen des Child-Themes die An­wei­sun­gen des Parent-Themes über­schrei­ben, muss der Browser das Style Sheet des WordPress-Child-Themes nach dem Style Sheet des Parent-Themes laden.
  • screen­shot.png ist optional, empfiehlt sich aber, um im WordPress-Backend das WordPress-Child-Theme direkt zu erkennen. WordPress zeigt screen­shot.png-Dateien au­to­ma­tisch im Theme-Menü bei der ent­spre­chen­den Vorlage an.
Hinweis

Wenn Sie nur kleinere Än­de­run­gen an dem Theme vornehmen, bieten sich auch ein­fa­che­re Lösungen wie das Simple Custom CSS Plugin oder der seit der WordPress-Version 4.7 in­te­grier­te Cus­to­mi­zer an.

Vor- und Nachteile des WordPress-Child-Themes

Grund­le­gend bringt ein WordPress-Child-Theme viele Vorteile mit sich. Doch es gibt auch einige Nachteile, weshalb Sie bei nur kleinen CSS-Än­de­run­gen überlegen sollten, ob es sich lohnt, extra ein Theme zu erstellen:

Vorteile Nachteile
Än­de­run­gen werden beim Update des Parent-Themes nicht über­schrie­ben. Das Update der ur­sprüng­li­chen Vorlage schließt nur Si­cher­heits­lü­cken in Template-Dateien, die im Parent-Theme-Ordner liegen. Bei den Template-Dateien im WordPress-Child-Themes-Ordner bleiben diese Lücken bestehen.
Ein WordPress-Child-Theme bietet mehr Frei­hei­ten gegenüber den Mög­lich­kei­ten im WordPress-Backend. Bei­spiels­wei­se lassen sich Aufbau und Struktur der Website anpassen oder das Theme um bestimmte Funk­tio­nen erweitern. Eventuell entstehen Per­for­mance-Einbußen, da der Browser zwei Style Sheets lädt.
Um­fang­rei­che CSS-An­pas­sun­gen bleiben gegenüber dem Cus­to­mi­zer von WordPress in der style.css über­sicht­lich.
WordPress-Child-Themes sind ideal für Anfänger, die WordPress besser ken­nen­ler­nen möchten. Schleicht sich ein Fehler ein, können sie jederzeit auf das Parent-Theme zu­rück­grei­fen.
Die Ent­wick­lungs­zeit der Website kann mit WordPress-Child-Themes be­schleu­nigt werden.
HiDrive Cloud-Speicher
Ihr sicherer Online-Speicher
  • Daten zentral speichern, teilen und be­ar­bei­ten
  • Ser­ver­stand­ort Deutsch­land (ISO 27001-zer­ti­fi­ziert)
  • Höchste Da­ten­si­cher­heit im Einklang mit der DSGVO

WordPress-Child-Themes erstellen: Anleitung zum Sel­ber­bau­en

Nachdem wir die Funk­tio­nen erklärt haben, schauen wir uns jetzt an, wie Sie ein funk­ti­ons­fä­hi­ges WordPress-Child-Theme erstellen.

Schritt 1: WordPress-Child-Themes-Ordner anlegen

Über einen FTP-Client (z. B. FileZilla) verbinden Sie sich mit Ihrem Server und na­vi­gie­ren innerhalb der WordPress-In­stal­la­ti­on zu folgendem Ordner:

ihr-pfad-zur-wordpress-installation/wp-content/themes/

Dort legen Sie einen Ordner für das WordPress-Child-Theme an. Am besten verwenden Sie als Namen die Be­zeich­nung des Parent-Themes mit „-child“ am Ende.

Schritt 2: Style Sheet für das WordPress-Child-Theme erstellen

Legen Sie eine style.css-Datei an und fügen Sie folgende In­for­ma­tio­nen im Header-Bereich mit einem Text­edi­tor ein:

/*
 Theme Name:   [Name des Parent-Themes] Child
 Theme URI:    [http://example.de/parent-theme/]
 Description:  [Name des Parent-Themes] Child Theme
 Author:       [Ihr Name]
 Author URI:   [Die URL Ihrer Website]
 Template:     [Ordnername des Parent-Themes] 
 Version:      1.0.0
Text Domain:   [Name des Parent-Themes] -child
*/

Die Platz­hal­ter in eckigen Klammern ersetzen Sie durch Ihre Angaben. Sie müssen nicht alle Punkte in­te­grie­ren; lediglich diese zwei In­for­ma­tio­nen sind Vor­aus­set­zung, damit das WordPress-Child-Themes funk­tio­niert:

  • Theme Name: Jedes Theme braucht einen Namen, so auch das WordPress-Child-Theme. Dieser Name sollte ein­zig­ar­tig sein und nicht von einem anderen Theme innerhalb Ihrer WordPress-In­stal­la­ti­on verwendet werden.
  • Template: Durch diese In­for­ma­ti­on weiß WordPress, dass es sich um ein WordPress-Child-Theme des an­ge­ge­be­nen Parent-Themes handelt.

Ist die Datei fertig, laden Sie sie über den FTP-Client in den Ordner des WordPress-Child-Themes.

Schritt 3: Style Sheet in der function.php richtig laden

Im besten Fall wird im Parent-Theme bereits die Anweisung gegeben, das Style Sheet des WordPress-Child-Themes zu laden. Doch nicht alle Design-Vorlagen tun dies. Deshalb ist es wichtig, sich an­zu­schau­en, was das Parent-Theme macht. Eine der drei folgenden Szenarien trifft dabei zu:

  1. Das Parent-Theme lädt bereits beide Style Sheets. In dem Fall muss das WordPress-Child-Theme nichts mehr machen.
  2. Lädt das Parent-Theme sein eigenes Style Sheet per get_template_directory() oder get_template_directory_uri(), muss das WordPress-Child-Theme nur das eigene Style Sheet mit der ent­spre­chen­den Be­zeich­nung des Style Sheets des Parent-Themes als Parameter in der function.php laden.
  3. Lädt das Parent Theme sein eigenes Style Sheet per get_style­sheet_directory() oder get_stylsheet_directory_uri(), muss das WordPress-Child-Theme beide Style Sheets in der function.php laden. Achten Sie darauf, die Be­zeich­nung des Style Sheet des Parent-Themes eins zu eins zu über­neh­men.

Tritt der zweite Fall ein, sieht die function.php so aus:

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_uri(),
        array( 'Name des Parent-Theme Style Sheets'), 
        wp_get_theme()->get('Version') // Funktioniert nur, wenn der Punkt Version auch im Header-Bereich des Style Sheets angegeben ist 
    );
}
?>

Soll das WordPress-Child-Theme beide Style Sheets über die function.php laden, sieht der Code wie folgt aus:

<?php
function child_theme_styles() {
wp_enqueue_style( 'Name des Parent-Theme Style Sheets', get_template_directory_uri() . '/style.css'); 
wp_enqueue_style( 'child-theme-css', get_stylesheet_directory_uri() .'/style.css' , array('Handle Name des Parent-Theme Style Sheets'));
}
add_action( 'wp_enqueue_scripts', 'child_theme_styles' );
?>

Die function.php legen Sie zu der style.css-Datei in den WordPress-Child-Themes-Ordner.

Hinweis

Optional können Sie noch eine Bilddatei mit dem Da­tei­na­men screen­shot.png im WordPress-Child-Themes-Ordner ablegen. WordPress zeigt dieses Bild im Backend beim Theme an, damit sie die Vorlage besser zuordnen können.

Schritt 4: WordPress-Child-Theme ak­ti­vie­ren

Nachdem das WordPress-Child-Theme erstellt ist, aktiveren Sie es wie jedes andere Theme im WordPress-Backend. Dazu einfach im Backend einloggen und unter „Design“ > „Themes“ das Child-Theme auswählen.

Hinweis

Haben Sie bereits An­pas­sun­gen am Parent-Theme über den WordPress-Cus­to­mi­zer durch­ge­führt, gehen diese Än­de­run­gen bei der Ak­ti­vie­rung des WordPress-Child-Themes verloren. Mit dem Plugin Cus­to­mi­zer Export/Import können Sie die Cus­to­mi­zer-Ein­stel­lun­gen ex­por­tie­ren und an­schlie­ßend wieder im­por­tie­ren.

Damit ist das WordPress-Child-Theme voll­stän­dig ein­satz­be­reit. Wenn Sie Än­de­run­gen an anderen Template-Dateien durch­füh­ren möchten, kopieren Sie die Datei aus dem Parent-Theme und legen Sie sie in den Child-Theme-Ordner ab. Der Pfad muss dabei genau dem Pfad im Parent-Theme ent­spre­chen. Die Datei des Parent-Themes wird au­to­ma­tisch durch die Datei im WordPress-Child-Themes-Ordner über­schrie­ben.

Tipp

Mit dem Hosting für WordPress von IONOS erhalten Sie eine speziell für WordPress op­ti­mier­te Hosting-Plattform, die Ihnen den Weg zur eigenen WordPress-Website ver­ein­facht.

Zum Hauptmenü