
🧩 WordPress child theme: eine vollständige anleitung zum erstellen und anpassen
Sie haben ein Theme installiert, die Website poliert, Farben und Schriften angepasst, ein paar eigene Templates hinzugefügt. Dann kommt ein Theme-Update und löscht alles. Kommt Ihnen das bekannt vor?
Ein Child-Theme in WordPress ist der Mechanismus, der Ihre Anpassungen vom Code des Entwicklers trennt. Sie ändern, was Sie möchten, und das übergeordnete Theme aktualisiert sich ohne Konsequenzen. Das klingt nach Magie, aber dahinter steckt nur eine Zeile in style.css.
In dieser Anleitung, vom Konzept bis zum funktionierenden Child-Theme: warum Sie eines brauchen, wie Sie es manuell erstellen, wie Sie Styles und functions.php einbinden und was zu tun ist, wenn etwas schiefgeht. Ohne Füllmaterial, mit getesteten Code-Snippets.
💡 Kurzer Überblick:
- Erstellen Sie einen Child-Theme-Ordner in
/wp-content/themes/, jeder Name funktioniert, zum Beispielmytheme-child - Fügen Sie
style.cssmit einem Theme-Header und einerTemplate:-Zeile hinzu, die auf den Ordner des übergeordneten Themes verweist - Binden Sie die Styles des übergeordneten Themes über
functions.phpein, indem Sie die Funktionwp_enqueue_style()am Hookwp_enqueue_scriptsnutzen - Kopieren Sie jede beliebige Template-Datei aus dem übergeordneten Theme in das Child-Theme und bearbeiten Sie sie ohne Angst vor Updates
- Alles andere (functions.php, benutzerdefinierte Felder, neue Templates) lässt sich erweitern, ohne das übergeordnete Theme anzufassen
Was ein WordPress-Child-Theme ist
Ein Child-Theme ist ein WordPress-Theme, das sämtliche Funktionalität, Styles und Templates von einem anderen Theme erbt. Dasjenige, von dem geerbt wird, heißt übergeordnetes Theme. Ein Child-Theme kann für sich genommen aus nur einer einzigen style.css-Datei bestehen und trotzdem voll funktionsfähig sein.

Der Vererbungsmechanismus ist einfach. Wenn WordPress eine Seite lädt, sucht es zuerst im Child-Theme nach der benötigten Template-Datei. Wird sie gefunden, verwendet es diese Datei. Wird sie nicht gefunden, nimmt es die Datei aus dem übergeordneten Theme. Deshalb können Sie nur das überschreiben, was Sie ändern möchten, und alles andere kommt automatisch aus dem übergeordneten Theme.
Das entscheidende Element, ohne das ein Child-Theme nicht existieren kann, ist die Template:-Zeile im Header von style.css. Sie verweist auf den Ordnernamen des übergeordneten Themes (zum Beispiel twentytwentyfour) und stellt die Eltern-Kind-Beziehung her. Die Zeile muss exakt mit dem Ordnernamen des übergeordneten Themes übereinstimmen, inklusive Groß- und Kleinschreibung.
Das übergeordnete Theme kann JEDES installierte WordPress-Theme sein, vom Standard-Theme Twenty Twenty-Five bis zu einem kommerziellen Theme wie Total oder Kadence. Das Child-Theme „borgt" sich dessen Dateien und Funktionen, kopiert sie aber nicht physisch.
Warum Sie ein Child-Theme brauchen: 4 Gründe
Sie könnten das alles überspringen und das übergeordnete Theme direkt bearbeiten. Viele tun das. Aber hier ist, was dann passiert.
Sichere Updates
Der Entwickler des übergeordneten Themes veröffentlicht ein Update, und Sie installieren es. Wenn Sie die Dateien des übergeordneten Themes direkt bearbeitet haben, sind alle Änderungen weg. Ein Child-Theme speichert Ihre Anpassungen separat: Ein Update des übergeordneten Themes berührt sie nicht. Sie erhalten sowohl die frische Version des Themes (mit Sicherheitskorrekturen) als auch Ihre erhaltenen Anpassungen.
Isoliertes Experimentieren
Sie möchten eine neue Template-Struktur oder einen unkonventionellen CSS-Hack ausprobieren? In einem Child-Theme können Sie frei experimentieren. Wenn etwas schiefgeht, deaktivieren Sie das Child-Theme, und die Website kehrt zum übergeordneten Theme im Originalzustand zurück.
Saubere Codebasis
Ein Child-Theme enthält nur Ihre Änderungen. Ein paar Templates, functions.php mit Hooks, style.css mit Überschreibungen. Keine Mischung aus Originalcode und Ihren Bearbeitungen. Wenn Sie ein halbes Jahr später etwas reparieren müssen, graben Sie nicht im Code anderer Leute nach Ihrem eigenen.
Schneller Entwicklungsstart
Ein Child-Theme ist die perfekte Sandbox, um die WordPress-Theme-Entwicklung zu lernen. Sie schreiben kein Theme von Grund auf (das dauert Hunderte von Stunden), sondern nehmen gezielte Änderungen an einem bereits funktionierenden Theme vor. Die offizielle WordPress-Dokumentation zu Child-Themes empfiehlt genau diesen Ansatz für angehende Entwickler.
Welche Nachteile Child-Themes haben
Es gibt auch Nachteile. Sie sind nicht kritisch, aber sie im Voraus zu kennen, hilft.
Grundlegende Code-Kenntnisse erforderlich
Das Einrichten eines Child-Themes setzt HTML, CSS und etwas PHP voraus. Wenn Sie noch nie einen Code-Editor geöffnet haben, müssen Sie die Grundlagen lernen. Die gute Nachricht: Für typische Aufgaben (Einbinden von Styles, Hinzufügen eines Hooks) ist der Code bereits geschrieben; Sie kopieren ihn nur und setzen Ihre eigenen Werte ein.
Migration der Customizer-Einstellungen
Manche Themes binden Customizer-Einstellungen (Farben, Schriften, Layout) an den Namen des aktiven Themes. Beim Wechsel zu einem Child-Theme „verschwinden" diese Einstellungen. Sie sind nicht verloren; sie bleiben in der Datenbank, gebunden an den Namen des übergeordneten Themes. Die Lösung: Exportieren Sie die Customizer-Einstellungen, bevor Sie das Child-Theme aktivieren (viele Themes, wie Total, bieten ein eingebautes Import/Export-Tool), oder übertragen Sie sie nach der Aktivierung manuell.
Abhängigkeit vom übergeordneten Theme
Ein Child-Theme ohne sein übergeordnetes Theme ist nur ein Ordner mit Dateien. Wenn Sie sich entscheiden, das Theme komplett zu wechseln, müssen Sie ein neues Child-Theme von Grund auf erstellen. Funktionen, die in der functions.php des Child-Themes eingebettet sind, können an Hooks gebunden sein, die spezifisch für ein bestimmtes übergeordnetes Theme sind, und müssen dann ebenfalls angepasst werden.
Wie Sie ein Child-Theme manuell erstellen
Der direkteste Weg, ohne Plugins, nur mit Ihren Händen. Sie benötigen Zugriff auf die Dateien Ihrer Website (FTP, den Dateimanager Ihres Hostings oder cPanel) und einen Texteditor.
Schritt 1. Child-Theme-Ordner erstellen
Öffnen Sie das WordPress-Theme-Verzeichnis: /wp-content/themes/. Erstellen Sie einen neuen Ordner. Jeder Name funktioniert, aber die Konvention ist, den Suffix -child an den Namen des übergeordneten Themes anzuhängen: Für twentytwentyfive wäre der Child-Ordner zum Beispiel twentytwentyfive-child.
Für die Arbeit mit Dateien per FTP eignet sich FileZilla gut. Über das Hosting nutzen Sie den eingebauten Dateimanager in cPanel oder Ihrem Hosting-Panel.
Schritt 2. style.css mit dem Theme-Header erstellen
Erstellen Sie im Child-Theme-Ordner eine Datei namens style.css. Dies ist die einzige erforderliche Datei. Fügen Sie den Theme-Header ein:
1 /* 2 Theme Name: Twenty Twenty-Five Child 3 Theme URI: https://example.com/ 4 Description: Child theme for Twenty Twenty-Five 5 Author: Your Name 6 Template: twentytwentyfive 7 Version: 1.0.0 8 */
Die Template:-Zeile ist diejenige, die das Child-Theme mit dem übergeordneten Theme verknüpft. Der Wert muss EXAKT mit dem Ordnernamen des übergeordneten Themes übereinstimmen. Für Twenty Twenty-Five heißt der Ordner twentytwentyfive, also schreiben Sie genau das. Ein Tippfehler oder falsche Groß-/Kleinschreibung führt dazu, dass das Theme nicht als Child-Theme erkannt wird.
Schritt 3. Styles des übergeordneten Themes einbinden
An diesem Punkt funktioniert das Child-Theme bereits; Sie können es unter Design → Themes aktivieren. Aber die Website wird ohne Styles erscheinen, weil Ihre style.css noch leer ist (abgesehen vom Header).
Erstellen Sie eine Datei namens functions.php im Child-Theme-Ordner und fügen Sie den Code zum Einbinden der übergeordneten Styles hinzu:
1 add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); 2 3 function my_theme_enqueue_styles() { 4 $theme = wp_get_theme( 'twentytwentyfive' ); 5 $version = $theme->get( 'Version' ); 6 7 wp_enqueue_style( 8 'parent-style', 9 get_template_directory_uri() . '/style.css', 10 array(), 11 $version 12 ); 13 }
Dieser Code greift dynamisch die Version des übergeordneten Themes auf und fügt sie als Parameter zur Stylesheet-URL hinzu. Wenn das Theme aktualisiert wird, ändert sich die Version, der Browser leert seinen Cache, und die Nutzer sehen die aktuellen Styles ohne CSS-Probleme.
Ersetzen Sie
twentytwentyfivedurch den Namen Ihres übergeordneten Themes. Verwenden Siewp_get_theme()anstelle einer hartcodierten Versionsnummer; das schützt Sie vor Cache-Problemen bei Updates.

Schritt 4. Child-Theme aktivieren
Im WordPress-Admin: Design → Themes → Ihr neu erstelltes Child-Theme suchen → Aktivieren. Das Erscheinungsbild der Website ändert sich nicht; das ist normal. Sie sind auf dem Child-Theme, und es funktioniert.
Wie Sie ein Child-Theme anpassen
Das Theme ist aktiviert; jetzt geht es an die Anpassung. Hier ist, was Sie tun können und sollten.
Eigene Styles hinzufügen
Schreiben Sie alle Ihre CSS-Regeln IN DIE style.css-Datei des Child-Themes, nach dem Header-Bereich. Sie überschreiben automatisch die Styles des übergeordneten Themes mit derselben Spezifität. Wenn Sie die Überschriftenfarbe ändern möchten, schreiben Sie die Regel in die Child-style.css, und sie wird angewendet.
Template-Dateien bearbeiten
Sie möchten die Struktur von single.php oder footer.php ändern? Kopieren Sie die gewünschte Datei aus dem übergeordneten Theme in den Child-Theme-Ordner, wobei Sie dieselbe Unterordnerstruktur beibehalten (zum Beispiel /template-parts/). Bearbeiten Sie die Kopie im Child-Theme; wenn WordPress lädt, verwendet es Ihre Version anstelle des Originals aus dem übergeordneten Theme.
Wichtiges Detail: Sie können nur TEMPLATE-DATEIEN kopieren (diejenigen, die sich im Stammordner des Themes und im Ordner template-parts/ befinden). Dateien aus Unterordnern wie inc/, functions/ und classes/ werden auf diese Weise nicht kopiert. Um Logik aus diesen Dateien zu ändern, verwenden Sie WordPress-Hooks und -Filter.
Erweitern über functions.php
Die functions.php des Child-Themes wird VOR der des übergeordneten Themes geladen. Das bedeutet, Sie können:
- Neue Funktionen hinzufügen, ohne die
functions.phpdes übergeordneten Themes anzufassen; - Funktionen des übergeordneten Themes nur dann überschreiben, wenn sie in
if ( ! function_exists() )verpackt sind; - Neue Hooks und Filter hinzufügen, um das Verhalten des übergeordneten Themes oder von WordPress selbst zu ändern.
Beispiel: SVG-Uploads über die Child-functions.php erlauben:
1 function my_child_allow_svg( $mimes ) { 2 $mimes['svg'] = 'image/svg+xml'; 3 return $mimes; 4 } 5 add_filter( 'upload_mimes', 'my_child_allow_svg' );
Kopieren Sie NIEMALS die GESAMTE
functions.phpaus dem übergeordneten Theme in das Child-Theme. Das führt zu einem fatalen Fehler aufgrund doppelt deklarierter Funktionen. Die Child-functions.phperweitert die des übergeordneten Themes; sie ersetzt sie nicht.
Neue Template-Dateien hinzufügen
Ein Child-Theme kann Templates enthalten, die im übergeordneten Theme nicht existieren. Sie können zum Beispiel template-full-width.php für Seiten ohne Seitenleiste erstellen, und WordPress wird es im Child-Theme erkennen und als Option beim Bearbeiten einer Seite anbieten.
Werkzeuge und Texteditoren
Jeder Editor funktioniert für Child-Theme-Code, aber Syntaxhervorhebung erleichtert die Sache. Hier sind einige Optionen:
- VS Code: kostenlos, mit Erweiterungen für PHP und WordPress;
- Notepad++: ein schlanker Editor für Windows, der CSS/PHP/JS beherrscht;
- Sublime Text: schnell und minimalistisch, nach der Testphase kostenpflichtig.
Für den Zugriff auf Dateien per FTP nutzen Sie den FileZilla FTP-Client. Für Hosting-Nutzer ist der eingebaute cPanel-Dateimanager völlig ausreichend, um ein paar Dateien zu erstellen.

Häufige Fehler und wie Sie sie beheben
Über Jahre der Arbeit mit Child-Themes haben wir eine Liste der häufigsten Stolpersteine zusammengestellt.
„Das Child-Theme wird nicht erkannt." Fast immer ist das ein Fehler in der Template:-Zeile. Prüfen Sie, ob der Ordnername des übergeordneten Themes Zeichen für Zeichen übereinstimmt, inklusive Groß-/Kleinschreibung und Bindestrichen. TwentyTwentyFive und twentytwentyfive sind unterschiedliche Namen.
„Die Website zeigt reines HTML ohne Styles." Das Child-Theme ist aktiviert, aber die Styles sind nicht eingebunden. Fügen Sie wp_enqueue_style() in der functions.php des Child-Themes hinzu (siehe Schritt 3).
„Fataler PHP-Fehler nach der Aktivierung." Höchstwahrscheinlich haben Sie die functions.php des übergeordneten Themes in das Child-Theme kopiert, und jetzt werden Funktionen doppelt deklariert. Entfernen Sie die Duplikate aus der Child-functions.php; behalten Sie nur IHRE Funktionen.
„Customizer-Einstellungen sind weg." Sie sind an den Theme-Namen gebunden. Wechseln Sie vorübergehend zurück zum übergeordneten Theme, exportieren Sie die Einstellungen (per Plugin oder dem eingebauten Tool des Themes), aktivieren Sie dann das Child-Theme und importieren Sie sie.
„Ein Update des übergeordneten Themes hat das Layout zerschossen." Der Entwickler hat die HTML-Struktur eines Templates geändert, das Sie in das Child-Theme kopiert haben. Ihre Kopie ist jetzt inkompatibel mit den neuen Styles. Lösung: Vergleichen Sie das neue übergeordnete Template mit Ihrer Kopie und passen Sie die Änderungen an.
Schritt-für-Schritt-Video (EN) zum Erstellen eines Child-Themes: vom Anlegen des Ordners bis zur finalen Aktivierung und Style-Einrichtung. Kanal WPEstate, 2025, klar und ohne Füllmaterial.
⁉️🤔 Häufig gestellte Fragen
Muss ich für jede WordPress-Website ein Child-Theme erstellen?
Nein. Wenn Sie keine Theme-Dateien bearbeiten und keinen eigenen Code hinzufügen, brauchen Sie kein Child-Theme. Aber wenn Sie jemals den Theme-Editor im Admin geöffnet, CSS unter Zusätzliches CSS hinzugefügt haben und planen, Templates zu ändern, erstellen Sie ein Child-Theme. Es dauert jetzt 10 Minuten und spart beim nächsten Update Stunden.
Was passiert, wenn ich das übergeordnete Theme lösche, aber das Child-Theme behalte?
Die Website stürzt mit einem kritischen Fehler ab. Ein Child-Theme ohne sein übergeordnetes Theme funktioniert nicht; es enthält keinen vollständigen Satz an Dateien und erbt alles vom übergeordneten Theme. Bevor Sie das übergeordnete Theme löschen, löschen (oder deaktivieren) Sie zuerst das Child-Theme und aktivieren Sie ein anderes Theme.
Kann ich ein „Enkel"-Theme erstellen, ein Child eines Child-Themes?
Nein. WordPress unterstützt nur eine Vererbungsebene: übergeordnetes Theme → Child-Theme. Für komplexe Anpassungen, die nicht in ein einzelnes Child-Theme passen, ist der richtige Ansatz, das Theme zu forken und ein vollständiges übergeordnetes Theme zu erstellen oder die Logik in ein separates Plugin auszulagern.
Funktioniert ein Child-Theme mit Block-Themes (FSE, Full Site Editing)?
Ja, aber der Mechanismus unterscheidet sich geringfügig. Bei Block-Themes wird die
theme.jsondes Child-Themes mit der des übergeordneten Themes zusammengeführt, anstatt sie zu ersetzen. Templates und Template-Teile werden auf dieselbe Weise überschrieben: indem eine Datei mit demselben Namen im Child-Theme erstellt wird. Weitere Details finden Sie in der offiziellen Developer-Resources-Dokumentation auf wordpress.org.
Wie übertrage ich bereits im übergeordneten Theme vorgenommene Anpassungen in das Child-Theme?
Identifizieren Sie, was Sie geändert haben: CSS, Templates oder functions.php. Kopieren Sie CSS-Regeln in die Child-
style.css. Für geänderte Templates kopieren Sie die Dateien in das Child-Theme und behalten Ihre Bearbeitungen dort. Übertragen Sie Code aus der functions.php des übergeordneten Themes selektiv: nur Ihre Funktionen, nicht die gesamte Datei. Entfernen Sie nach der Übertragung Ihre Bearbeitungen aus dem übergeordneten Theme; andernfalls gehen sie beim nächsten Update verloren.
Ob Sie jetzt ein Child-Theme erstellen sollten
Wenn Sie bis hierher gelesen haben, lautet die Antwort wahrscheinlich ja. Ein Child-Theme verkompliziert die Website nicht und verlangsamt sie nicht. Es trennt Ihren Code vom Code des Theme-Entwicklers. Es ist wie das Kommentieren von Code: Anfangs scheint es unnötig, aber einen Monat später rettet es Ihnen den Tag.
Für diejenigen, die zum ersten Mal ein Theme bearbeiten: Beginnen Sie mit einer Sandbox. Ein lokaler Server (LocalWP, XAMPP) oder eine Staging-Site bei Ihrem Hosting. Erstellen Sie ein Child-Theme nach den obigen Schritten, fügen Sie ein paar CSS-Regeln hinzu, kopieren Sie ein Template. Wenn Sie sehen, dass alles funktioniert, wiederholen Sie es auf Ihrer Live-Site.
Die Frage ist nicht, ob Sie ein Child-Theme brauchen. Die Frage ist, wann Sie sich daran erinnern: vor dem Theme-Update oder nachdem Ihre Anpassungen verschwunden sind.



