Zum Inhalt springen
WordPress Child Themes: Was sie sind und wie man einen erstellt
WordPress-Tutorials📋 Leitfaden

WordPress Child Themes: Was sie sind und wie man einen erstellt

Can BayarCan BayarAktualisiert am: 12 Min. Lesezeit452 Aufrufe

Was ist ein WordPress-Child-Theme?

Ein WordPress-Child-Theme ist ein Theme, das die Funktionalität, Merkmale und das Styling eines anderen Themes, dem sogenannten Parent-Theme, erbt. Anstatt die Dateien des Parent-Themes direkt zu ändern, nimmst du deine Änderungen im Child-Theme vor. Dadurch bleiben deine Anpassungen erhalten, wenn das Parent-Theme Updates erhält, und du verlierst nicht stundenlange, sorgfältige Arbeit.

Sieh es so: Das Parent-Theme bietet die Grundlage, und das Child-Theme legt deine Modifikationen obendrauf. WordPress lädt zuerst das Child-Theme und greift dann auf das Parent-Theme zurück, wenn etwas nicht überschrieben wird. Dieses Erbschaftsmodell ist eine der praktischsten architektonischen Entscheidungen von WordPress.

Warum solltest du ein Child-Theme verwenden?

Die Verwendung eines Child-Themes gilt unter WordPress-Entwicklern als Standardpraxis, und das aus gutem Grund. Hier sind die wichtigsten Vorteile:

  • Update-Sicherheit: Updates des Parent-Themes überschreiben deine Anpassungen nicht. Dein Code lebt in einem separaten Verzeichnis, das während der Updates unberührt bleibt.
  • Organisierter Workflow: Alle deine Modifikationen bleiben an einem Ort, was es einfach macht, nachzuvollziehen, was du geändert hast und warum.
  • Einfache Rückgängigmachung: Wenn eine Anpassung Probleme verursacht, kannst du das Child-Theme einfach deaktivieren und sofort zum Parent-Theme zurückkehren.
  • Lerngelegenheit: Der Aufbau eines Child-Themes lehrt dich, wie WordPress-Themes funktionieren, ohne den Druck, eines von Grund auf neu zu erstellen.
  • Versionskontrolle freundlich: Du kannst nur dein Child-Theme in Git committen, wodurch dein Repository sauber und auf deine Änderungen fokussiert bleibt.

Child-Theme vs. WordPress-Customizer: Wann man welches verwenden sollte

WordPress bietet mehrere Möglichkeiten, das Erscheinungsbild deiner Seite anzupassen. Zu verstehen, wann man ein Child-Theme im Vergleich zum integrierten Customizer verwenden sollte, hilft dir, den richtigen Ansatz für jede Situation zu wählen.

MerkmalChild-ThemeWordPress-Customizer
Code-Änderungen (PHP)Vollständig unterstütztNicht unterstützt
Template-ÜberschreibungenVollständig unterstütztNicht unterstützt
CSS-ModifikationenEmpfohlen für große ÄnderungenGeeignet für kleine Anpassungen
Überlebt Theme-UpdatesJaJa (wenn Theme-Optionen verwendet werden)
Erforderliche technische FähigkeitenGrundkenntnisse in PHP/CSSKein Coding erforderlich
Echtzeit-VorschauErfordert manuelles AktualisierenIntegrierte Echtzeit-Vorschau
LeistungsbeeinträchtigungVernachlässigbarVernachlässigbar

Verwende den Customizer, wenn du einfache Farbänderungen, Schriftanpassungen oder Logo-Uploads benötigst. Verwende ein Child-Theme, wenn du Template-Dateien ändern, benutzerdefinierte Funktionen hinzufügen oder strukturelle Änderungen an deinem Layout vornehmen musst.

Wie man ein Child-Theme manuell erstellt

Die Erstellung eines Child-Themes erfordert nur zwei Dateien: style.css und functions.php. Hier ist eine Schritt-für-Schritt-Anleitung.

Schritt 1: Erstelle das Child-Theme-Verzeichnis

Verbinde dich über FTP oder deinen Hosting-Dateimanager mit deiner WordPress-Installation. Navigiere zu wp-content/themes/ und erstelle einen neuen Ordner. Die Namenskonvention ist parent-theme-name-child. Wenn dein Parent-Theme zum Beispiel Astra ist, nenne den Ordner astra-child.

Schritt 2: Erstelle style.css

Erstelle in deinem neuen Ordner eine Datei namens style.css mit folgendem Header:

/*
 Theme Name:   Astra Child
 Theme URI:    https://yoursite.com
 Description:  Child-Theme für Astra
 Author:       Dein Name
 Template:     astra
 Version:      1.0.0
*/

Die Zeile Template ist entscheidend. Sie muss genau mit dem Verzeichnisnamen des Parent-Themes übereinstimmen (nicht mit dem Anzeigenamen). Überprüfe wp-content/themes/, um den genauen Ordnernamen zu bestätigen.

Schritt 3: Erstelle functions.php

Erstelle eine functions.php-Datei, die die Stylesheets des Parent- und Child-Themes korrekt einfügt:

<?php
function child_theme_enqueue_styles() {
    wp_enqueue_style(
        'parent-style',
        get_template_directory_uri() . '/style.css'
    );
    wp_enqueue_style(
        'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array('parent-style'),
        wp_get_theme()->get('Version')
    );
}
add_action('wp_enqueue_scripts', 'child_theme_enqueue_styles');

Dieser Ansatz stellt sicher, dass das Stylesheet des Parent-Themes zuerst geladen wird, gefolgt von den Styles deines Child-Themes, wodurch die korrekte Kaskadenreihenfolge beibehalten wird.

Schritt 4: Aktiviere das Child-Theme

Gehe zu Design > Themes in deinem WordPress-Dashboard. Du solltest dein Child-Theme aufgelistet sehen. Klicke auf Aktivieren. Deine Seite sollte identisch wie zuvor aussehen, da das Child-Theme alles vom Parent erbt.

Verwendung eines Plugins zur Erstellung von Child-Themes

es

Wenn Sie einen No-Code-Ansatz bevorzugen, können mehrere Plugins für Sie Child-Themes generieren. Die am häufigsten verwendete Option ist das Child Theme Configurator Plugin. So funktioniert es:

  1. Installieren und aktivieren Sie das Child Theme Configurator Plugin unter Plugins > Neu hinzufügen.
  2. Gehen Sie zu Werkzeuge > Child-Themes.
  3. Wählen Sie Ihr Parent-Theme aus dem Dropdown-Menü aus.
  4. Klicken Sie auf Analysieren, um mögliche Probleme zu überprüfen.
  5. Klicken Sie auf Neues Child-Theme erstellen.
  6. Das Plugin generiert alle erforderlichen Dateien und kopiert optional Widget- und Menüeinstellungen.

Diese Methode ist schneller, gibt Ihnen jedoch weniger Kontrolle über die anfängliche Einrichtung. Für Produktionsseiten ist es wertvoll, den manuellen Prozess zu verstehen, da er Ihnen hilft, Probleme zu beheben, die später auftreten können.

Häufige Anpassungen in einem Child-Theme

Sobald Ihr Child-Theme aktiv ist, können Sie mit den Modifikationen beginnen. Hier sind die häufigsten Anpassungsszenarien.

Vorlage-Dateien überschreiben

Um eine Vorlage-Datei zu ändern, kopieren Sie sie aus dem Verzeichnis des Parent-Themes in das Verzeichnis Ihres Child-Themes und behalten Sie die gleiche Ordnerstruktur bei. Zum Beispiel, um die Vorlage für einen einzelnen Beitrag anzupassen:

  1. Finden Sie single.php im Ordner Ihres Parent-Themes.
  2. Kopieren Sie es in den Ordner Ihres Child-Themes.
  3. Bearbeiten Sie die Kopie in Ihrem Child-Theme.

WordPress verwendet automatisch die Version des Child-Themes anstelle der des Parent-Themes.

Benutzerdefiniertes CSS hinzufügen

Fügen Sie Ihre CSS-Regeln in die style.css Datei des Child-Themes unter dem Header-Kommentar ein. Da das Stylesheet des Child-Themes nach dem des Parent-Themes geladen wird, haben Ihre Regeln Vorrang:

/* Benutzerdefinierter Header-Hintergrund */
.site-header {
    background-color: #2c3e50;
    padding: 20px 0;
}

/* Größe des Beitragstitels anpassen */
.entry-title {
    font-size: 2rem;
    line-height: 1.3;
}

Benutzerdefinierte Funktionen hinzufügen

Die functions.php des Child-Themes läuft zusätzlich zur des Parent-Themes (nicht anstelle davon). Sie können benutzerdefinierte Shortcodes, Widget-Bereiche, Beitragstypen hinzufügen oder bestehendes Verhalten mithilfe von WordPress-Hooks ändern:

// Fügen Sie einen benutzerdefinierten Widget-Bereich hinzu
function child_register_sidebar() {
    register_sidebar(array(
        'name'          => 'Benutzerdefinierte Sidebar',
        'id'            => 'custom-sidebar',
        'before_widget' => '<div class="widget">',
        'after_widget'  => '</div>',
    ));
}
add_action('widgets_init', 'child_register_sidebar');

Header und Footer anpassen

Kopieren Sie header.php oder footer.php vom Parent-Theme in Ihr Child-Theme und ändern Sie sie dann. So fügen Sie benutzerdefinierte Navigationselemente, Tracking-Skripte oder strukturelle Änderungen in diesen wichtigen Bereichen hinzu.

Wann man KEIN Child-Theme verwenden sollte

Child-Themes sind nicht immer die richtige Lösung. Hier sind Szenarien, in denen Alternativen mehr Sinn machen:

  • Kleine CSS-Anpassungen: Für ein paar Zeilen CSS verwenden Sie den Abschnitt „Zusätzliches CSS“ im Customizer. Ein Child-Theme für drei CSS-Regeln zu erstellen, fügt unnötige Komplexität hinzu.
  • Funktionszusätze: Wenn Sie Funktionen hinzufügen, die nicht mit dem Theme zusammenhängen (benutzerdefinierte Beitragstypen, Shortcodes, Integrationen), verwenden Sie stattdessen ein benutzerdefiniertes Plugin. Dies hält Ihre Funktionalität themenunabhängig.
  • Seitenbauer-Seiten: Wenn Sie vollständig mit Elementor Pro oder ähnlichen Seitenbauern arbeiten, finden die meisten Anpassungen innerhalb des Builders statt. Ein Child-Theme hat hier wenig Wert.
  • Starter-Themes: Wenn Sie ein vollständig benutzerdefiniertes Design erstellen, beginnen Sie mit einem Starter-Theme wie Underscores (_s) oder verwenden Sie ein Framework. Ein Child-Theme impliziert, dass Sie das Design des Parent-Themes beibehalten möchten.

Wählen eines Parent-Themes für Ihr Child-Theme

Nicht alle Parent-Themes eignen sich gleich gut für die Entwicklung von Child-Themes. Suchen Sie nach Themes, die gut codiert, regelmäßig aktualisiert und mit Blick auf Erweiterbarkeit entworfen sind. Zwei beliebte Optionen sind:

  • Astra Pro: Bekannt für seine leichte Codebasis, umfangreiches Hook-System und klare Dokumentation für Entwickler von Child-Themes. Astra bietet Dutzende von Action- und Filter-Hooks speziell für die Anpassung von Child-Themes.
  • GeneratePress Premium: Bietet eine saubere, gut strukturierte Codebasis mit modularen Komponenten. Sein Hook-System ermöglicht das Einfügen von Inhalten an verschiedenen Stellen, ohne Vorlage-Dateien zu überschreiben.

Beide Themes behalten die Abwärtskompatibilität über Updates hinweg, was wichtig ist, wenn Sie Child-Themes erstellen, die über die Zeit stabil bleiben müssen.

Fehlerbehebung bei häufigen Problemen mit Child-Themes

Sogar erfahrene Entwickler stoßen auf Probleme mit Child-Themes. Hier sind Lösungen für die häufigsten Probleme:

ProblemWahrscheinliche UrsacheLösung
Weißer Bildschirm nach AktivierungPHP-Syntaxfehler in functions.phpGreifen Sie über FTP auf die Dateien zu und überprüfen Sie auf Tippfehler, fehlende Semikolons oder nicht geschlossene Klammern
Stile werden nicht angewendetFalsche Reihenfolge beim Enqueue oder fehlender übergeordneter StilÜberprüfen Sie das Array der Abhängigkeiten in wp_enqueue_style
Template-Überschreibung funktioniert nichtFalscher Dateipfad oder falsche BenennungStellen Sie sicher, dass der Dateipfad im Child-Theme genau der Struktur des übergeordneten Themes entspricht
Theme erscheint nicht im DashboardFalscher Template-Wert in style.cssÜberprüfen Sie, ob der Template-Wert mit dem Verzeichnisnamen des übergeordneten Themes übereinstimmt (Groß-/Kleinschreibung beachten)
Funktionen werden doppelt ausgeführtSowohl das übergeordnete als auch das Child-Theme definieren dieselbe FunktionVerwenden Sie function_exists()-Überprüfungen oder unterschiedliche Funktionsnamen

Referenz zur Ordnerstruktur des Child-Themes

Ein gut organisiertes Child-Theme folgt dieser Struktur:

your-theme-child/
├── style.css              (erforderlich - Theme-Header + benutzerdefiniertes CSS)
├── functions.php          (erforderlich - Stile einfügen + benutzerdefinierte Funktionen)
├── screenshot.png         (optional - Theme-Vorschaubild)
├── header.php             (optional - Header-Überschreibung)
├── footer.php             (optional - Footer-Überschreibung)
├── single.php             (optional - Einzelbeitrags-Überschreibung)
├── page.php               (optional - Seiten-Überschreibung)
├── template-parts/        (optional - partielle Überschreibungen)
│   └── content-single.php
├── assets/                (optional - benutzerdefinierte Assets)
│   ├── css/
│   ├── js/
│   └── images/
└── woocommerce/           (optional - WooCommerce-Überschreibungen)
    └── single-product.php

Für weitere Informationen zur Auswahl eines übergeordneten Themes lesen Sie unseren Leitfaden zu wie man ein WordPress-Theme im Jahr 2026 auswählt. Wenn Sie Hilfe bei der Installation eines Themes benötigen, bevor Sie ein Child-Theme erstellen, überprüfen Sie unser Tutorial zur Installation von WordPress-Themes.

Für weitere Details siehe die offizielle Dokumentation: Child Themes Dokumentation, Theme Handbuch.

Häufig gestellte Fragen

Verliere ich meine Anpassungen des Child-Themes, wenn ich WordPress selbst aktualisiere?

Nein. Updates des WordPress-Kerns haben keinen Einfluss auf Themes. Ihr Child-Theme und das übergeordnete Theme bleiben in ihren jeweiligen Verzeichnissen unter wp-content/themes/. Nur Updates des übergeordneten Themes könnten potenziell Kompatibilitätsprobleme verursachen, aber Ihre Child-Theme-Dateien bleiben unberührt.

Kann ich ein Child-Theme eines Child-Themes (Enkel-Theme) haben?

WordPress unterstützt nativ keine Enkel-Themes. Ein Child-Theme kann nur von einem übergeordneten Theme erben, nicht von einem anderen Child-Theme. Wenn Sie mehrere Anpassungsebenen benötigen, verwenden Sie eine Kombination aus dem Child-Theme und benutzerdefinierten Plugins.

Verlangsamt ein Child-Theme meine Website?

Der Leistungsimpact eines Child-Themes ist vernachlässigbar. WordPress lädt eine zusätzliche style.css und functions.php Datei, was einen Bruchteil einer Millisekunde zur Ladezeit der Seite hinzufügt. Der Overhead ist unter realen Bedingungen nicht messbar.

Kann ich ein Child-Theme mit jedem WordPress-Theme verwenden?

Technisch ja, aber einige Themes funktionieren zuverlässiger mit Child-Themes als andere. Themes, die den WordPress-Coding-Standards folgen und ordnungsgemäße Hook-Systeme verwenden, sind einfacher zu erweitern. Themes, die stark auf fest codierte Pfade oder proprietäre Frameworks angewiesen sind, können unerwartetes Verhalten verursachen.

Wie migriere ich ein Child-Theme von einer Staging-Seite in die Produktion?

Kopieren Sie den gesamten Ordner des Child-Themes von wp-content/themes/your-child-theme/ an denselben Ort auf Ihrem Produktionsserver. Aktivieren Sie es dann im WordPress-Dashboard. Wenn Ihr Child-Theme auf spezifische URLs verweist, aktualisieren Sie diese nach der Migration.

Sollte ich ein Child-Theme mit einem Starter-Theme wie Underscores verwenden?

Starter-Themes wie Underscores sind dafür gedacht, direkt modifiziert zu werden. Sie sind als Ausgangspunkte für benutzerdefinierte Themes gedacht, nicht als übergeordnete Themes für Child-Themes. Modifizieren Sie sie direkt und verfolgen Sie Änderungen stattdessen mit Versionskontrolle.

Was passiert, wenn ich das übergeordnete Theme deaktiviere?

Wenn das übergeordnete Theme deaktiviert oder gelöscht wird, wird das Child-Theme nicht mehr funktionieren. WordPress kann ein Child-Theme ohne sein übergeordnetes Theme nicht laden. Halten Sie das übergeordnete Theme immer installiert, auch wenn Sie nur das Child-Theme verwenden.

Auf einer soliden Grundlage aufbauen

Astra Pro bietet umfangreiche Hook-Unterstützung und eine saubere Code-Architektur, was es zu einem zuverlässigen übergeordneten Theme für Ihre Child-Theme-Projekte macht.

Astra Pro erkunden →

Häufig gestellte Fragen

Brauche ich ein Child Theme, wenn ich nur den Customizer benutze?
Wenn Ihre Anpassungen auf Optionen im WordPress Customizer (Farben, Schriftarten, Menüs, Widgets) beschränkt sind, ist ein Child Theme nicht unbedingt erforderlich. Der Customizer speichert Einstellungen in der Datenbank, die bei Theme-Updates bestehen bleibt.
Verlangsamt ein Child Theme meine Website?
Ein richtig erstelltes Child Theme verursacht vernachlässigbare Zusatzlast. Es lädt eine zusätzliche kleine CSS-Datei und eine functions.php-Datei. Der Leistungsimpact ist in der Praxis nicht messbar.
Kann ich ein Child Theme für jedes WordPress-Theme erstellen?
Ja, Sie können für jedes WordPress-Theme ein Child Theme erstellen. Einige Themes wie Divi und Avada haben jedoch eigene Anpassungssysteme, die Child Themes weniger notwendig machen können. Überprüfen Sie die Dokumentation des Themes für spezifische Empfehlungen.
Was passiert mit meinem Child Theme, wenn ich das Parent Theme ändere?
Ihr Child Theme ist an ein bestimmtes Parent Theme gebunden. Wenn Sie zu einem anderen Parent Theme wechseln, funktioniert das Child Theme nicht mehr. Sie müssten ein neues Child Theme basierend auf dem neuen Parent Theme erstellen und Ihre Anpassungen migrieren.
Wie aktualisiere ich ein Parent Theme, ohne Änderungen am Child Theme zu verlieren?
Genau das lösen Child Themes. Wenn Sie das Parent Theme aktualisieren, werden nur die Dateien des Parent Themes ersetzt. Ihre Child Theme-Dateien bleiben unberührt, und Ihre Anpassungen werden automatisch beibehalten.

Diesen Beitrag teilen

Über den Autor

Can Bayar
Can Bayar

WordPress-Experte

Senior WordPress-Entwickler mit über 10 Jahren Erfahrung in der Plugin- und Theme-Entwicklung. Spezialisiert auf WooCommerce, Elementor und Leistungsoptimierung.

WordPressWooCommerceElementorPHPJavaScriptLeistungsoptimierung

Bleiben Sie informiert

Erhalten Sie die neuesten WordPress-Tipps und Tutorials in Ihrem Posteingang.