WordPress Child Theme erstellen: Updatesichere Anpassungen an Design und Funktionen

Ein Child Theme ist ein untergeordnetes WordPress-Theme, das die Funktionen, Templates und Gestaltung eines bestehenden Parent Themes übernimmt. Es erlaubt Ihnen, eigene Anpassungen vorzunehmen, ohne die Dateien des Original-Themes direkt zu verändern.

Das ist wichtig, weil Änderungen an einem Parent Theme beim nächsten Theme-Update überschrieben werden können. Wenn Sie also direkt in Dateien wie style.css, functions.php, header.php, footer.php oder single.php eines gekauften oder kostenlosen Themes arbeiten, riskieren Sie, dass Ihre Anpassungen bei einem Update verloren gehen.

Kurz erklärt: Ein Child Theme schützt Ihre individuellen Anpassungen vor Theme-Updates. Das Parent Theme bleibt updatefähig, während Ihre eigenen CSS-, PHP- oder Template-Anpassungen im Child Theme liegen.

Was ist ein Parent Theme?

Das Parent Theme ist das Haupt-Theme Ihrer WordPress-Website. Es liefert das Grunddesign, die Templates, Funktionen, Stylesheets und oft auch Theme-Optionen. Beispiele sind Themes wie Twenty Twenty-Four, Astra, GeneratePress, Kadence, OceanWP oder viele Premium-Themes.

Ein Child Theme benötigt immer ein Parent Theme. Ohne Parent Theme kann es nicht korrekt funktionieren, weil es dessen Dateien und Funktionen erbt.

WordPress lädt bei einem Child Theme grundsätzlich das Child Theme als aktives Theme, greift aber bei fehlenden Dateien auf das Parent Theme zurück. Dadurch müssen Sie nur die Dateien anlegen, die Sie wirklich anpassen möchten.

Warum ein Child Theme sinnvoll ist

Ein Child Theme ist besonders dann sinnvoll, wenn Sie Änderungen vornehmen möchten, die über einfache Einstellungen im Customizer, Website-Editor oder Pagebuilder hinausgehen.

Die wichtigsten Vorteile:

  • Updatesicherheit: Das Parent Theme kann aktualisiert werden, ohne Ihre Anpassungen zu überschreiben.
  • Saubere Trennung: Eigener Code bleibt getrennt vom Original-Code des Theme-Entwicklers.
  • Bessere Wartbarkeit: Änderungen lassen sich leichter finden, dokumentieren und rückgängig machen.
  • Flexibilität: Sie können CSS, PHP-Funktionen, Templates oder JavaScript gezielt anpassen.
  • Sicherheit: Das Parent Theme kann weiterhin Sicherheitsupdates erhalten.
  • Professioneller Workflow: Anpassungen lassen sich besser in Staging, Git oder Entwicklungsumgebungen testen.
Praxis-Tipp: Sobald Sie Theme-Dateien bearbeiten möchten, sollten Sie nicht direkt im Parent Theme arbeiten. Verwenden Sie ein Child Theme oder eine andere saubere Entwicklungsstruktur.

Wann brauchen Sie kein Child Theme?

Nicht jede kleine Änderung benötigt ein Child Theme. Viele Anpassungen können heute ohne Code erledigt werden. Besonders moderne Themes bieten umfangreiche Einstellungen für Farben, Typografie, Abstände, Header, Footer und Layouts.

Ein Child Theme ist meist nicht erforderlich für:

  • Änderungen im Customizer,
  • Änderungen im Website-Editor,
  • einfache Einstellungen im Theme-Panel,
  • Menüs und Widgets,
  • Inhalte in Seiten und Beiträgen,
  • kleine CSS-Änderungen über Design > Customizer > Zusätzliches CSS,
  • Pagebuilder-Layouts, sofern keine Theme-Dateien geändert werden.

Wenn Sie nur Farben oder Logo ändern möchten, reicht oft der Customizer, Website-Editor oder das Theme-Optionspanel.

Wann ist ein Child Theme empfehlenswert?

Ein Child Theme ist empfehlenswert, wenn Sie direkt in die technische Struktur des Themes eingreifen möchten.

Typische Anwendungsfälle:

  • eigene CSS-Dateien strukturiert verwalten,
  • eigene PHP-Funktionen hinzufügen,
  • Template-Dateien überschreiben,
  • header.php oder footer.php anpassen,
  • eigene JavaScript-Dateien einbinden,
  • Hooks und Filter nutzen,
  • WooCommerce-Templates überschreiben,
  • eigene Block-Styles oder Theme-Varianten definieren,
  • Änderungen versionieren und dokumentieren.

Child Theme bei klassischen Themes und Block-Themes

Bei klassischen Themes sind Child Themes seit vielen Jahren der Standard für updatesichere Anpassungen. Klassische Themes arbeiten vor allem mit PHP-Templates, CSS und JavaScript.

Bei modernen Block-Themes ist die Situation etwas anders. Block-Themes bestehen stärker aus HTML-Templates, Blöcken und einer theme.json. Viele Anpassungen erfolgen über den Website-Editor. Trotzdem können auch Block-Themes mit Child Themes erweitert werden, zum Beispiel durch eigene Templates, eigene theme.json-Anpassungen oder zusätzliche Styles. WordPress unterscheidet im Theme Handbook zwischen klassischen Themes und Block-Themes; Block-Themes nutzen den Website-Editor und bestehen wesentlich stärker aus Blöcken. ([developer.wordpress.org](https://developer.wordpress.org/themes/?utm_source=chatgpt.com))

Theme-Typ Typische Anpassungen Child Theme sinnvoll?
Klassisches Theme PHP-Templates, CSS, Funktionen, Hooks Ja, bei Datei- oder Code-Anpassungen sehr empfehlenswert.
Block-Theme Website-Editor, Templates, theme.json, Block-Styles Ja, wenn Anpassungen strukturiert und updatesicher in Dateien liegen sollen.
Pagebuilder-Theme Builder-Layouts, Theme-Builder, CSS, Hooks Kommt auf den Builder und die Art der Anpassung an.

Vorbereitung: Backup und Staging verwenden

Bevor Sie ein Child Theme erstellen oder aktivieren, sollten Sie ein Backup Ihrer Website erstellen. Auch wenn ein Child Theme grundsätzlich sicher ist, können Fehler in PHP-Dateien oder Template-Dateien die Website beeinträchtigen.

Besonders wichtig ist ein Backup, wenn:

  • die Website bereits produktiv genutzt wird,
  • WooCommerce oder Formulare aktiv sind,
  • ein Pagebuilder verwendet wird,
  • eigene PHP-Funktionen geplant sind,
  • Template-Dateien überschrieben werden sollen,
  • mehrere Personen an der Website arbeiten.

Noch besser ist eine Staging-Umgebung. Dort können Sie das Child Theme erstellen, aktivieren und testen, ohne die Live-Website zu gefährden.

????️ CURIAWEB Experten-Empfehlung

Testen Sie Child-Theme-Anpassungen zuerst in einer Staging-Umgebung. CSS-Änderungen, neue PHP-Funktionen oder Template-Anpassungen können dort gefahrlos geprüft werden, bevor sie auf die Live-Website übertragen werden.

Mehr über WordPress Hosting mit Staging erfahren

Schritt 1: Parent-Theme-Ordnernamen ermitteln

Bevor Sie ein Child Theme erstellen, müssen Sie den genauen Ordnernamen des Parent Themes kennen. Dieser ist wichtig für die Zeile Template: in der style.css des Child Themes.

Sie finden den Ordnernamen unter:

wp-content/themes/

Beispiele:

  • twentytwenty
  • twentytwentyfour
  • astra
  • generatepress
  • kadence

Der Wert in Template: muss exakt dem Ordnernamen des Parent Themes entsprechen. Gross-/Kleinschreibung und Schreibweise sollten genau stimmen.

Schritt 2: Child-Theme-Ordner anlegen

Verbinden Sie sich per SFTP, FTP oder über den cPanel-Dateimanager mit Ihrem Hosting-Account. Öffnen Sie das Verzeichnis:

wp-content/themes/

Legen Sie dort einen neuen Ordner für Ihr Child Theme an. Der Name sollte eindeutig und kleingeschrieben sein.

Beispiele:

  • twentytwenty-child
  • astra-child
  • generatepress-child
  • curiaweb-theme-child

Verwenden Sie keine Leerzeichen und möglichst keine Sonderzeichen im Ordnernamen.

Schritt 3: style.css erstellen

Erstellen Sie im neuen Child-Theme-Ordner eine Datei mit dem Namen style.css. Diese Datei benötigt einen Theme-Header. Der wichtigste Eintrag ist Template:, weil WordPress dadurch weiss, welches Parent Theme verwendet werden soll.

/*
Theme Name: Twenty Twenty Child
Theme URI: https://www.curiaweb.ch/
Description: Child Theme für individuelle Anpassungen am Twenty Twenty Theme.
Author: CURIAWEB GmbH
Author URI: https://www.curiaweb.ch/
Template: twentytwenty
Version: 1.0.0
Text Domain: twentytwenty-child
*/

Passen Sie Theme Name, Description, Author und besonders Template an Ihr Parent Theme an.

Wichtig: Die Zeile Template: muss den Ordnernamen des Parent Themes enthalten, nicht den Anzeigenamen des Themes.

Schritt 4: functions.php erstellen

Erstellen Sie im Child-Theme-Ordner eine Datei mit dem Namen functions.php. In dieser Datei können Sie Stylesheets, Skripte und eigene Funktionen laden.

Ein einfacher, häufig verwendeter Ansatz zum Laden des Child-Theme-Stylesheets sieht so aus:

<?php
/**
 * Styles des Child Themes laden.
 */
add_action( 'wp_enqueue_scripts', 'curiaweb_child_theme_enqueue_styles' );

function curiaweb_child_theme_enqueue_styles() {
    wp_enqueue_style(
        'curiaweb-child-style',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get( 'Version' )
    );
}

Viele moderne Parent Themes laden ihre eigenen Styles bereits korrekt. In solchen Fällen reicht es oft, nur das Child-Theme-Stylesheet zu laden. Bei manchen älteren Themes muss zusätzlich das Parent-Stylesheet explizit geladen werden. WordPress weist darauf hin, dass das Einreihen von Styles davon abhängen kann, wie das Parent Theme seine Styles lädt. ([developer.wordpress.org](https://developer.wordpress.org/themes/advanced-topics/child-themes/?utm_source=chatgpt.com))

Falls Ihr Parent Theme seine Styles nicht automatisch lädt, kann ein Ansatz wie dieser nötig sein:

<?php
/**
 * Parent- und Child-Styles laden.
 */
add_action( 'wp_enqueue_scripts', 'curiaweb_enqueue_parent_and_child_styles' );

function curiaweb_enqueue_parent_and_child_styles() {
    $parent_style = 'parent-style';

    wp_enqueue_style(
        $parent_style,
        get_template_directory_uri() . '/style.css'
    );

    wp_enqueue_style(
        'child-style',
        get_stylesheet_uri(),
        array( $parent_style ),
        wp_get_theme()->get( 'Version' )
    );
}

Welche Variante richtig ist, hängt vom Parent Theme ab. Testen Sie nach der Aktivierung, ob alle Styles korrekt geladen werden.

Schritt 5: Optionales Screenshot-Bild hinzufügen

Damit Ihr Child Theme in der Theme-Übersicht schöner angezeigt wird, können Sie eine Datei screenshot.png in den Child-Theme-Ordner legen. Diese Datei ist optional.

Das Screenshot-Bild erscheint unter Design > Themes. Es beeinflusst die Funktion des Child Themes nicht.

Schritt 6: Child Theme aktivieren

Melden Sie sich im WordPress-Dashboard an und öffnen Sie:

Design > Themes

Dort sollte Ihr neues Child Theme erscheinen. Aktivieren Sie es. Danach verwendet WordPress das Child Theme als aktives Theme, greift aber weiterhin auf das Parent Theme zurück.

Prüfen Sie direkt nach der Aktivierung:

  • Sieht die Website wie vorher aus?
  • Ist das Menü noch korrekt zugewiesen?
  • Sind Widgets im Footer und in Sidebars noch vorhanden?
  • Ist das Logo sichtbar?
  • Funktionieren Customizer- oder Theme-Einstellungen?
  • Werden CSS-Dateien korrekt geladen?
  • Funktioniert die mobile Ansicht?

Manchmal müssen Menüs oder Widgets nach einem Theme-Wechsel einmalig neu zugewiesen werden, auch wenn das Child Theme auf demselben Parent Theme basiert.

CSS-Anpassungen im Child Theme

Eigene CSS-Regeln können Sie in die style.css des Child Themes schreiben. Das ist sinnvoll, wenn die Anpassungen dauerhaft, nachvollziehbar und updatesicher gespeichert werden sollen.

Beispiel:

.site-header {
    border-bottom: 3px solid #c61f29;
}

.button,
.wp-block-button__link {
    border-radius: 6px;
}

Für sehr kleine CSS-Anpassungen kann auch der Customizer-Bereich Zusätzliches CSS ausreichen. Wenn Sie jedoch viele Änderungen planen oder professionell arbeiten möchten, ist ein Child Theme übersichtlicher.

PHP-Funktionen im Child Theme hinzufügen

Eigene PHP-Funktionen können Sie in der functions.php des Child Themes ergänzen. Seien Sie dabei sehr vorsichtig: Ein PHP-Fehler kann dazu führen, dass Ihre Website nicht mehr erreichbar ist.

Typische PHP-Anpassungen sind:

  • eigene Skripte einbinden,
  • Theme-Funktionen erweitern,
  • Hooks und Filter nutzen,
  • WooCommerce-Ausgaben anpassen,
  • Shortcodes ergänzen,
  • Bildgrössen registrieren,
  • Admin-Funktionen anpassen.

Wenn Sie unsicher sind, testen Sie PHP-Code immer zuerst in einer Staging-Umgebung.

Template-Dateien überschreiben

Ein Child Theme kann bestimmte Template-Dateien des Parent Themes überschreiben. Dazu kopieren Sie die gewünschte Datei aus dem Parent Theme in das Child Theme und behalten die relative Verzeichnisstruktur bei.

Beispiele:

  • single.php für einzelne Beiträge,
  • page.php für Seiten,
  • archive.php für Archive,
  • header.php für den Header,
  • footer.php für den Footer,
  • woocommerce/single-product.php für WooCommerce-Templates.

Wenn eine Datei im Child Theme vorhanden ist, verwendet WordPress diese statt der Datei aus dem Parent Theme. Änderungen am Parent Theme können dann nicht automatisch in diese überschriebenen Dateien einfliessen. Deshalb sollten Sie kopierte Template-Dateien regelmässig prüfen, wenn das Parent Theme aktualisiert wird.

Achtung: Kopieren Sie nicht unnötig viele Template-Dateien in das Child Theme. Überschreiben Sie nur Dateien, die Sie wirklich ändern müssen.

Child Theme und WooCommerce

WooCommerce-Templates können ebenfalls über ein Child Theme angepasst werden. Das ist ein häufiger Anwendungsfall, wenn Produktseiten, Warenkorb, Checkout oder E-Mail-Templates individuell gestaltet werden sollen.

WooCommerce zeigt im Systemstatus an, wenn Template-Dateien überschrieben und möglicherweise veraltet sind. Prüfen Sie diesen Bereich regelmässig nach WooCommerce-Updates.

Wichtig bei WooCommerce-Anpassungen:

  • vorher vollständiges Backup erstellen,
  • Staging-Umgebung nutzen,
  • Checkout nach Änderungen testen,
  • E-Mail-Templates prüfen,
  • überschriebene Templates nach Updates kontrollieren,
  • keine geschäftskritischen Funktionen ohne Test ändern.

Child Theme mit Plugin erstellen

Wer keine Dateien manuell anlegen möchte, kann ein Child Theme auch mit einem Plugin erstellen. Dafür gibt es verschiedene Lösungen. Diese können hilfreich sein, sollten aber nach der Erstellung nicht unbedingt dauerhaft aktiv bleiben, wenn sie nicht mehr benötigt werden.

Vorteile eines Plugins:

  • einfacher Einstieg,
  • weniger manuelle Dateiarbeit,
  • automatische Erkennung des Parent Themes,
  • teilweise zusätzliche Analysefunktionen.

Nachteile:

  • zusätzliches Plugin im System,
  • mögliche Fehlkonfiguration,
  • weniger Verständnis für die technische Struktur,
  • nicht immer ideal für professionelle Workflows.

Für produktive Websites ist die manuelle Erstellung oder eine saubere Entwicklerumgebung oft transparenter.

Child Theme und Staging

Ein Child Theme sollte nach Möglichkeit nicht direkt auf einer Live-Website entwickelt werden. Nutzen Sie eine Staging-Umgebung, um Anpassungen sicher zu testen.

In Staging können Sie prüfen:

  • ob das Child Theme korrekt aktiviert wird,
  • ob Styles geladen werden,
  • ob PHP-Funktionen fehlerfrei sind,
  • ob Templates wie erwartet greifen,
  • ob mobile Darstellung korrekt ist,
  • ob WooCommerce-Prozesse funktionieren,
  • ob Pagebuilder-Layouts unverändert bleiben.

Erst wenn alles korrekt funktioniert, sollten Sie die Änderung auf die Live-Website übertragen.

Sicherheit: Typische Fehler vermeiden

  • Falscher Template-Name: Die Zeile Template: enthält nicht den Parent-Theme-Ordnernamen.
  • PHP-Fehler in functions.php: Website zeigt kritischen Fehler.
  • Parent Theme nicht installiert: Child Theme kann nicht funktionieren.
  • Styles werden doppelt geladen: Falsches Enqueueing kann Performance oder Darstellung beeinflussen.
  • Zu viele Templates kopiert: Parent-Theme-Updates kommen nicht mehr sauber durch.
  • Kein Backup: Fehler lassen sich schwer rückgängig machen.
  • Live-Entwicklung: Besucher sehen Fehler direkt.
  • Menüs und Widgets nicht geprüft: Nach Aktivierung fehlen Navigation oder Footer-Inhalte.

Performance: Macht ein Child Theme die Website langsamer?

Ein Child Theme macht eine Website nicht automatisch langsamer. Entscheidend ist, welche Anpassungen darin enthalten sind. Ein kleines Child Theme mit sauberem CSS und wenigen Funktionen hat normalerweise kaum spürbaren Einfluss.

Performance-Probleme entstehen eher durch:

  • zu viele zusätzliche CSS-Dateien,
  • unnötiges JavaScript,
  • schlecht geschriebene PHP-Funktionen,
  • unoptimierte Datenbankabfragen,
  • zu viele externe Ressourcen,
  • nicht getestete WooCommerce-Anpassungen,
  • doppelt geladene Stylesheets.

Sauber entwickelter Child-Theme-Code ist wartbar und performant. Unsauberer Code kann dagegen Probleme verursachen – unabhängig davon, ob er in einem Child Theme oder Plugin liegt.

SEO und GEO: Warum Child Themes indirekt wichtig sind

Ein Child Theme verbessert SEO nicht automatisch. Es kann aber dabei helfen, wichtige technische und gestalterische Anpassungen sauber umzusetzen.

SEO-relevante Anpassungen im Child Theme können sein:

  • saubere Template-Struktur,
  • bessere Ladezeiten durch optimierten Code,
  • strukturierte Daten, wenn korrekt eingebunden,
  • zugängliche HTML-Struktur,
  • optimierte Überschriftenausgabe,
  • saubere WooCommerce-Templates,
  • vermeidung unnötiger Layoutfehler.

Für GEO, also Generative Engine Optimization, ist ein Child Theme indirekt hilfreich, wenn dadurch Inhalte klarer strukturiert, besser zugänglich und technisch sauberer ausgegeben werden. Entscheidend bleiben aber hochwertige Inhalte, klare Überschriften, interne Verlinkung und vertrauenswürdige Informationen.

Empfohlene Vorgehensweise

  1. Prüfen, ob ein Child Theme nötig ist: Für einfache Designoptionen reicht oft Customizer oder Website-Editor.
  2. Backup erstellen: Dateien und Datenbank sichern.
  3. Staging nutzen: Änderungen nicht direkt auf der Live-Website testen.
  4. Parent-Theme-Ordnernamen ermitteln: Exakt für Template: übernehmen.
  5. Child-Theme-Ordner anlegen: Unter wp-content/themes/.
  6. style.css erstellen: Theme-Header mit korrektem Template-Eintrag anlegen.
  7. functions.php erstellen: Styles sauber einbinden und eigene Funktionen ergänzen.
  8. Child Theme aktivieren: Unter Design > Themes.
  9. Website prüfen: Layout, Menüs, Widgets, mobile Ansicht, Formulare und Shop testen.
  10. Änderungen dokumentieren: Damit spätere Wartung einfacher bleibt.

Häufige Fragen zum WordPress Child Theme

Was ist ein Child Theme?

Ein Child Theme ist ein untergeordnetes Theme, das ein Parent Theme erweitert. Es übernimmt dessen Funktionen und erlaubt eigene updatesichere Anpassungen.

Warum sollte ich kein Parent Theme direkt bearbeiten?

Direkte Änderungen am Parent Theme können bei einem Theme-Update überschrieben werden. Ausserdem wird die Wartung schwieriger.

Brauche ich für kleine CSS-Änderungen ein Child Theme?

Nicht zwingend. Für wenige CSS-Regeln kann Zusätzliches CSS im Customizer reichen. Für umfangreiche oder langfristige Anpassungen ist ein Child Theme sauberer.

Kann ich Plugins statt eines Child Themes verwenden?

Für manche Anpassungen ja. Kleine CSS-Plugins oder Code-Snippet-Plugins können helfen. Wenn Sie jedoch Theme-Templates wie header.php, footer.php oder WooCommerce-Templates überschreiben möchten, ist ein Child Theme der bessere Weg.

Sieht meine Website nach der Aktivierung anders aus?

Idealerweise nein. Das Child Theme sollte das Parent Theme übernehmen. Prüfen Sie dennoch Menüs, Widgets, Logo, Customizer-Einstellungen und mobile Darstellung.

Kann ein Child Theme meine Website beschädigen?

Ein falsch geschriebener PHP-Code oder fehlerhafte Template-Dateien können Probleme verursachen. Deshalb sollten Sie Backups und Staging nutzen.

Funktionieren Child Themes auch mit Block-Themes?

Ja, Child Themes können auch bei Block-Themes verwendet werden. Dort spielen zusätzlich der Website-Editor, HTML-Templates und theme.json eine wichtige Rolle.

Muss das Parent Theme installiert bleiben?

Ja. Ein Child Theme benötigt sein Parent Theme. Wenn das Parent Theme gelöscht wird, funktioniert das Child Theme nicht mehr korrekt.


Maximale Freiheit für Ihr WordPress-Webdesign

Ein Child Theme ist die saubere Grundlage für individuelle WordPress-Anpassungen. Mit dem WordPress Hosting von CURIAWEB profitieren Sie von schneller NVMe-Infrastruktur, SSL inklusive, moderner PHP-Unterstützung und einer stabilen Basis für professionelle Entwicklung.

WordPress Hosting mit Staging entdecken

Haben Sie Fragen zur Erstellung? Unser CURIAWEB-Support hilft Ihnen gerne persönlich weiter.

War diese Antwort hilfreich? 0 Benutzer fanden dies hilfreich (0 Stimmen)