Ein Child Theme ist ein WordPress-Theme, das auf einem bestehenden Parent Theme aufbaut und Anpassungen ermöglicht, ohne dessen Dateien zu verändern. Der Vorteil ist, dass Updates des Parent Themes die eigenen Änderungen nicht überschreiben. Ohne Child Theme gehen Anpassungen beim nächsten Update verloren oder Updates werden vermieden, was schnell zum Sicherheitsrisiko wird.
Vorteile eines Child Themes
- Theme-Anpassungen bleiben auch nach Updates des Parent Themes erhalten
- Änderungen sind klar getrennt und leichter nachvollziehbar
- Individuelle Templates können überschrieben oder erweitert werden
- Eigene CSS- und PHP-Anpassungen lassen sich sauber bündeln
- Rollback und Fehlersuche sind einfacher, weil weniger am Parent Theme verändert wird
Technische Umsetzung
Ein Child Theme besteht mindestens aus einem eigenen Ordner im Verzeichnis /wp-content/themes/ und einer style.css mit Header-Kommentaren. Zusätzlich wird in der functions.php des Child Themes in der Regel das Stylesheet des Parent Themes eingebunden.
Beispiel: style.css eines Child Themes
/*
Theme Name: Mein Theme Child
Template: parent-theme-ordner
Version: 1.0
*/
Beispiel: functions.php zum Laden der Styles
<?php
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_uri(),
[ 'parent-style' ],
wp_get_theme()->get('Version')
);
});
Im Child Theme können Sie dann gezielt Template-Dateien des Parent Themes überschreiben, indem Sie die entsprechende Datei im Child Theme mit identischem Pfad und Dateinamen anlegen. WordPress lädt dann die Child-Version, wenn vorhanden, sonst die Parent-Version.
Anwendungsbeispiel aus der Praxis
Ein typisches Beispiel ist eine Website, die auf einem Premium-Theme basiert, das regelmäßig Updates bekommt. Sie möchten die Darstellung einzelner Inhalte ändern, etwa das Template für Beiträge, die Ausgabe von Custom Fields oder die Struktur einer Archivseite.
Statt im Parent Theme zu basteln, legen Sie im Child Theme eine angepasste single.php oder archive.php an, ergänzen Ihre Logik und halten alles updatesicher. Das Theme kann weiterhin aktualisiert werden, Sicherheitsfixes kommen rein und Ihre Anpassungen bleiben bestehen.
Wenn Änderungen komplexer werden oder mehrere Entwickler daran arbeiten, ist ein Child Theme oft die Mindestanforderung für saubere Wartbarkeit.
Wann ein Child Theme sinnvoll ist
- Wenn Sie ein Theme regelmäßig updaten wollen und trotzdem Anpassungen brauchen
- Wenn Templates geändert oder überschrieben werden müssen
- Wenn Sie eigene PHP-Funktionen im Theme-Kontext ergänzen
- Wenn mehrere Anpassungen über die Zeit zusammenkommen und strukturiert abgelegt werden sollen
Wann ein Child Theme übertrieben ist
- Wenn Sie nur ein paar CSS-Regeln im Customizer oder per zusätzlichem CSS setzen
- Wenn Anpassungen vollständig über ein Site-Editor-Theme (Block Theme) und globale Styles gelöst werden
- Wenn Änderungen besser in ein kleines Plugin oder MU-Plugin gehören, weil sie nicht designbezogen sind
Ein Child Theme ist kein Allheilmittel. Alles, was nicht zum Theme gehört, sollte auch nicht ins Theme gepackt werden. Geschäftslogik, Shortcodes, CPTs oder Integrationen gehören in Plugins, nicht in ein Child Theme.
