Ein Child Theme einrichten

Jetzt müssen wir noch eine Sache einrichten bevor wir bestimmte Veränderungen oder Optimierungen an unserem Blog vornehmen. Im Beitrag Werbung in WordPress einsetzen hatte ich ja einige Möglichkeiten genannt wie man Werbung platziert und dies Woche geht es dann auch dran paar von mir eingesetzte optimierte Codes einzusetzen. Dafür müssen wir aber Eingaben im Theme Code vornehmen, das ist eigentlich nichts schlimmes, jedoch wenn ein Update für das Theme kommt werden die Anpassungen gelöscht. Daher gibt es bei WordPress die Möglichkeit ein Child Theme einzubinden.

Warum ein Child Theme einsetzen

WordPress ist ja das Grundgerüst welches den Blog aufbaut. Rufe ich jetzt eine Seite des Blogs auf spricht der Browser erst mal mit WordPress, WordPress schaut dann nach welches Theme aktiv ist und liest es dann Zeile für Zeile ein. Wenn man jetzt ein Child Theme hat schaut WordPress welche Dateien hat das ChildTheme und lädt diese, danach schaut er bei dem Haupttheme nach und liest alle Dateien ein die nicht im  Child Theme existieren. Deswegen muss man auch nur die Dateien erstellen an denen man Änderungen vor nimmt. Angaben die man im Child Theme macht werden durch ein Update des Themes nicht gelöscht.

Wie binde ich ein Child Theme ein

Im Theme Verzeichnis deiner WordPress Installation, diese findest du im Pfad wp-content/themes , legst du einen neuen Ordner an. Am Besten nimmst du hier den Namen vom Theme und setzt -child dahinter. So steht bei mir nun der Ordner „/wp-content/themes/clean-journal-child„. Damit  WordPress nun aber weiß das es ein Child Theme ist müssen wir noch zwei Dateien erstellen.

  1. screenshot.png
    Das Bild des Themes, dieses siehst du wenn du in WordPress Admin auf Designs gehst.
  2. style.css
    Dies ist die Datei aus der das ccs deines Blogs gelesen wird
    In diese Datei kommen ein paar Zeilen:

    • /*
    • Theme Name: clean journal child
    • Theme URI: http://lub.ich-brauch-hilfe-info/clean-journal-child/
    • Description: clean journal child
    • Author: Michael Coners
    • Author URI: http://lub.ich-brauch-hilfe-info/
    • Template: clean-journal
    • Version: 1.0.0
    • License: GNU General Public License v2 or later
    • License URI: http://www.gnu.org/licenses/gpl-2.0.html
    • Tags: responsive-layout,
    • */
      Die wichtigsten informationen sind der Theme Name und das Ursprungs Template alle anderen Angaben sind sinnvoll wenn man das Child Theme zum Download anbietet.
  3. functions.php
    <?php
    /**
    * Child theme stylesheet einbinden in Abhängigkeit vom Original-Stylesheet
    */
    
    function child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-theme-css', get_stylesheet_directory_uri() .'/style.css' , array('parent-style'));
    
    }
    add_action( 'wp_enqueue_scripts', 'child_theme_styles' );?>

Ich könnte dir die Datei natürlich auch zum Download anbieten aber mit Copy und Paste geht es auch.

 

Wenn du jetzt nochmal in das Menu Design gehst siehst du das Child Theme. Du kannst es ruhig schon aktivieren wir haben ja noch nichts an Code geschrieben. Deswegen bleibt das alte Design stehen.

Wie nehme ich Änderungen an meinem Theme vor

Die Datei die du im Theme abändern möchtest kopierst du aus dem Theme Ordner in den Child Theme Ordner jetzt kannst du über das WordPress Backend, unter Design – Editor, Änderungen an dieser Datei vornehmen.

Sicher kann es beim arbeiten an dieser Datei auch zu Fehlermeldungen in deinem Blog kommen. Wenn du die Datei bereits erstellt und verändert hast lade sie dir bevor du anfängst herunter. Wenn jetzt was schief geht kannst du die Datei wieder hochladen und alles ist beim alten. Wenn du erst neu anfängst eine Datei zu editieren kannst du sie einfach löschen und gut ist.

Also keine Angst im schlimmsten Fall aktivierst du einfach das Theme wieder.

Die Tage kommen immer wieder Code Schnipsel die ich in meinen Themes einsetze, damit das Theme und WordPress das machen was ich will.

Schreibe einen Kommentar

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