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.
| Merkmal | Child-Theme | WordPress-Customizer |
|---|---|---|
| Code-Änderungen (PHP) | Vollständig unterstützt | Nicht unterstützt |
| Template-Überschreibungen | Vollständig unterstützt | Nicht unterstützt |
| CSS-Modifikationen | Empfohlen für große Änderungen | Geeignet für kleine Anpassungen |
| Überlebt Theme-Updates | Ja | Ja (wenn Theme-Optionen verwendet werden) |
| Erforderliche technische Fähigkeiten | Grundkenntnisse in PHP/CSS | Kein Coding erforderlich |
| Echtzeit-Vorschau | Erfordert manuelles Aktualisieren | Integrierte Echtzeit-Vorschau |
| Leistungsbeeinträchtigung | Vernachlässigbar | Vernachlä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:
- Installieren und aktivieren Sie das Child Theme Configurator Plugin unter Plugins > Neu hinzufügen.
- Gehen Sie zu Werkzeuge > Child-Themes.
- Wählen Sie Ihr Parent-Theme aus dem Dropdown-Menü aus.
- Klicken Sie auf Analysieren, um mögliche Probleme zu überprüfen.
- Klicken Sie auf Neues Child-Theme erstellen.
- 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:
- Finden Sie
single.phpim Ordner Ihres Parent-Themes. - Kopieren Sie es in den Ordner Ihres Child-Themes.
- 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:
| Problem | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Weißer Bildschirm nach Aktivierung | PHP-Syntaxfehler in functions.php | Greifen Sie über FTP auf die Dateien zu und überprüfen Sie auf Tippfehler, fehlende Semikolons oder nicht geschlossene Klammern |
| Stile werden nicht angewendet | Falsche Reihenfolge beim Enqueue oder fehlender übergeordneter Stil | Überprüfen Sie das Array der Abhängigkeiten in wp_enqueue_style |
| Template-Überschreibung funktioniert nicht | Falscher Dateipfad oder falsche Benennung | Stellen Sie sicher, dass der Dateipfad im Child-Theme genau der Struktur des übergeordneten Themes entspricht |
| Theme erscheint nicht im Dashboard | Falscher 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ührt | Sowohl das übergeordnete als auch das Child-Theme definieren dieselbe Funktion | Verwenden 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 →


