Einfache Design-Anpassungen an WordPress Themes sind schnell und einfach erledigt. In der Regel genügt es, die betreffende Stelle im Stylesheet zu ändern und schon ist das Design angepasst. Allerdings werden sämtliche Änderungen beim nächsten Update des Themes überschrieben.
Mit Child Themen kannst du das vermeiden. So gehts:
Prüfen welches Theme aktiviert ist.
Dazu gehen wir einfach in die Einstellungen und sehen nach:

Child anlegen
durch erstellen eines neuen Unterverzeichnisses:

Style.css im Child anlegen
/*
Theme Name: Ashe Premium Child
Description: Mein Child Theme
Template: ashe-pro-premium
Version: 1.0
Text Domain: ashe-pro-premium-child
*/
Wichtig ist hier: Die Namen müssen sich auf das Parent Template beziehe, da Wordpress sonst nicht das Template als Child erkennt. Es zählt also nicht der Verzeichnisname sondern die Daten hier im style.css
functions.php erstellen
<?php
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' );?>
Child aktivieren

Screenshot
screenshot.png im Verzeichnis hinterlegen dann wird kein leerer Platzhalter angezeigt.. mir ist das jetzt nicht wichtig.
functions.php ergänzen
jetzt kannst du dir zB zusenden lassen wer sich wann einloggt und das bleibt dann auch bei einem Theme Update erhalten:
function login_failed_mail() {
$username = sanitize_text_field($_POST['log']);
$ip = $_SERVER['REMOTE_ADDR'];
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail("du@gmail.com", "Neue Login Fehler auf Wordpress", "Login Fehler von '".$username."' and ".$ip, $headers);
}
function login_ok_mail() {
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail("du@gmail.com", "Neue Login auf Wordpress", "Login OK", $headers);
}
add_action('wp_login_failed', 'login_failed_mail');
add_action('wp_login', 'login_ok_mail');
Allerdings muss für den Code noch das https://de.wordpress.org/plugins/wp-mail-smtp/ installiert und konfiguriert sein
Warum überhaupt ein Child-Theme?
Ändert man Stylesheet oder Funktionen direkt im aktiven Theme, sind alle Anpassungen beim nächsten Theme-Update wieder weg. Ein Child-Theme löst das: Es erbt Aussehen und Funktionen des Eltern-Themes, nimmt aber Ihre Änderungen auf – update-sicher und sauber getrennt.
Wann lohnt sich ein Child-Theme?
- Sobald Sie mehr als nur eine winzige CSS-Kleinigkeit ändern.
- Wenn Sie Template-Dateien (z. B.
header.php) anpassen wollen. - Wenn Sie eigene Funktionen über die
functions.phpergänzen.
Für eine einzelne CSS-Zeile reicht oft auch der Customizer („Zusätzliches CSS") – ab mehreren Änderungen ist ein Child-Theme die bessere Wahl.
Die drei Grundbausteine
- Eigenes Verzeichnis unter
/wp-content/themes/anlegen. - style.css mit korrektem
Template:-Eintrag, der exakt den Verzeichnisnamen des Eltern-Themes nennt – sonst erkennt WordPress die Verbindung nicht. - functions.php, die das Eltern-Stylesheet per
wp_enqueue_styleeinbindet.
Häufige Stolpersteine
- Falscher Template-Name: Maßgeblich ist nicht der Verzeichnisname, sondern der
Template:-Wert in derstyle.css. - Styles laden nicht: Das Eltern-Stylesheet muss korrekt enqueued werden, bevor das Child-Stylesheet greift.
- Leerer Vorschau-Platzhalter: Eine
screenshot.pngim Verzeichnis sorgt für eine hübsche Theme-Vorschau (optional).
Der Vorteil zusammengefasst
Mit einem Child-Theme bleiben Ihre Anpassungen – egal ob CSS, Templates oder eigene Funktionen – bei jedem Update des Eltern-Themes erhalten. Genau dafür ist es gemacht.