Child Theme in WordPress erstellen

Child Theme in WordPress erstellen: In 4 Schritten sicher anpassen (2026)

Geschrieben am 30. Juli 2023
Autor Der Webfuchs – WordPress- und SEO-Praxiswissen mit Fokus auf klare, umsetzbare Optimierung

Aktualisiert am 15. Februar 2026
Voraussichtliche Lesezeit 6 min

Ein Child Theme ist ein Unter-Theme, das auf einem Parent Theme aufbaut. Du kannst damit CSS, Templates und Funktionen anpassen, ohne dass Updates vom Parent Theme Deine Änderungen überschreiben. Wenn Du die offizielle Definition nachlesen willst, findest Du sie im WordPress Developer Handbook:
WordPress Developer Handbook: Child Themes

Stell Dir Dein WordPress-Theme wie ein Mietauto vor: Du kannst damit super fahren – aber Du solltest nicht anfangen, den Motor umzubauen, wenn Du es nachher wieder zurückgeben musst. Genau das passiert, wenn Du Änderungen direkt im Parent Theme machst: Beim nächsten Update ist alles weg.

Ein Child Theme ist dann wie Dein eigener „Werkzeugkoffer“: Du baust Deine Anpassungen daneben – und Updates können kommen, ohne dass Deine Arbeit überschrieben wird.

Wichtig (damit niemand falsch abbiegt): Die manuelle Anleitung (Schritt 1–3) funktioniert für jedes klassische WordPress-Theme (Astra, Kadence, OceanWP, Twenty Twenty-Themes usw.).
Die Profi-Tipps zeige ich zusätzlich am Beispiel GeneratePress, weil es dort besonders starke Alternativen gibt (Elements/Hooks), die oft sogar ein Child Theme ersetzen.


Kurz-Check: Brauchst Du wirklich ein Child Theme?

Ja, wenn Du…

  • PHP-Funktionen dauerhaft hinzufügen willst (Actions/Filter, Shortcodes, Mini-Features).
  • Template-Dateien überschreiben willst (z.B. header.php, single.php – eher Fortgeschritten).
  • Deine Anpassungen strukturieren willst (mehrere Dateien, CSS/JS sauber trennen).

⚠️ Oft nein, wenn Du…

  • nur ein bisschen CSS änderst (dafür reicht meist „Zusätzliches CSS“ im Customizer).
  • nur 1–5 kleine Snippets brauchst (da ist ein Snippets-Plugin häufig cleaner).
  • ein Theme nutzt, das dir schon „Hooks/Builder/Elements“ bietet (z.B. GeneratePress Premium).

Wenn Du ganz neu in GeneratePress bist, hier ist mein Einsteiger-Guide:
GeneratePress Einsteiger-Guide


Entscheidungstabelle: Child Theme vs Customizer vs Code Snippets vs Theme-Tools

ZielBeste LösungWarum?
Nur CSS anpassen (Farben, Abstände, Schrift)Customizer / Zusätzliches CSSschnell, updatefest, ohne Dateien
Kleine PHP-Snippets (Shortcodes, Filter, Mini-Features)Code Snippets Plugin oder mu-pluginsauberer als „alles in functions.php“
Layout/Hook-Inhalte (Header, Footer, Banner, CTA)Theme-Tools (z.B. Elements/Hooks/Builder)flexibel, oft ohne Code
Template-Dateien überschreibenChild Themedafür ist es gemacht
Größere Individualisierung/Theme-EntwicklungChild Theme + Stagingprofessioneller Workflow

💡 Pro-Tipp: Wenn Du bei GeneratePress bist, nutze lieber Elements/Hooks statt Templates zu kopieren:
GeneratePress Elements/Hooks nutzen statt Template-Dateien kopieren


Child Theme erstellen: Schritt-für-Schritt (für jedes Theme)

Du brauchst Zugriff auf Deine WordPress-Dateien (Hosting-Dateimanager, FTP oder SSH) und einen Texteditor.

Schritt 1: Ordner für das Child Theme anlegen

Pfad: /wp-content/themes/

Beispiel:

  • Parent Theme heißt „astra“ → Child-Ordner: astra-child
  • Parent Theme heißt „generatepress“ → Child-Ordner: generatepress-child
Dateimanager zeigt den neuen Ordner ‚generatepress-child‘ im Verzeichnis /wp-content/themes/.
Neuen Child-Theme-Ordner ‚generatepress-child‘ unter /wp-content/themes/ anlegen.

Schritt 2: style.css erstellen (Pflicht)

Im Child-Theme-Ordner legst Du eine Datei style.css an:

/*
Theme Name:   Mein Child Theme
Theme URI:    https://derwebfuchs.de/
Description:  Child Theme für mein Parent Theme (Anpassungen 2026)
Author:       Der Webfuchs
Author URI:   https://derwebfuchs.de/
Template:     generatepress /* ODER: astra, oceanwp, kadence, twentytwentyfour, etc. */
Version:      1.0.0
Text Domain:  mein-child-theme
*/

Merksatz: Template: = Ordnername des Parent Themes unter /wp-content/themes/.
Wenn Du das falsch setzt, kann WordPress das Child Theme nicht korrekt zuordnen.

Wenn Du GeneratePress nutzt, findest Du das auch nochmal in der GP-Doku (inkl. Blank Child Theme):
GeneratePress Doku: Child Theme nutzen & installieren

Geöffnete style.css im Child Theme mit Header-Kommentar (Theme Name, Template, Version) für GeneratePress.
Die style.css im Child Theme: Header anlegen und Parent-Theme im Feld ‚Template‘ eintragen.

Schritt 3: functions.php (optional, aber praktisch)

Lege eine functions.php im Child Theme an.

Viele Themes binden Child-Styles automatisch ein. Wenn nicht, kannst Du es sauber per wp_enqueue_scripts machen. WordPress erklärt die Grundlagen im Handbook:
WordPress Developer Handbook: Child Themes

Robustes Beispiel: Child-Styles nach dem Parent laden (ohne anonyme Funktion)

<?php
/**
 * Enqueue Child Styles (robust, 2026)
 */
function derwebfuchs_enqueue_child_styles() {

    // Passe diesen Handle ggf. an (je nach Parent Theme).
    // Bei GeneratePress ist 'generatepress-style' üblich.
    $parent_handle = 'generatepress-style';

    wp_enqueue_style(
        'derwebfuchs-child-style',
        get_stylesheet_uri(),
        array( $parent_handle ),
        wp_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'derwebfuchs_enqueue_child_styles', 20 );

⚠️ Fehlerbild #1: „CSS greift nicht / Reihenfolge stimmt nicht“
✅ Checke:

  • Cache (Plugin/Server/CDN) leeren
  • Wird style.css geladen? (Browser → DevTools → Network → Filter „CSS“)
  • Stimmt der Parent-Handle?

So prüfst Du den Parent-Handle ohne Programmierwissen:
Öffne die Website → Rechtsklick → „Seitenquelltext anzeigen“ → suche nach .css oder nach dem Theme-Namen (z.B. astra, generatepress). Alternativ: DevTools → „Network“ → CSS-Dateien anklicken und schauen, was geladen wird.

💡 Pro-Tipp: Wenn Du viele Mini-Funktionen brauchst, sind einzelne Snippets oft sauberer als eine wachsende functions.php:
WordPress Snippets als Alternative zur überfüllten functions.php


Schritt 4: Child Theme als ZIP installieren (Anfängerfreundlich)

Du kannst den Child-Theme-Ordner zippen:

  1. Ordner …-child zippen → …-child.zip
  2. WordPress: Design → Themes → Hinzufügen → Theme hochladen
  3. Installieren
  4. Aktivieren
WordPress Backend: Design → Themes → Theme hinzufügen → Upload, um ein Child Theme als ZIP-Datei hochzuladen.
Child Theme als ZIP hochladen: Design → Themes → Theme hinzufügen → Upload → Jetzt installieren.

Wenn Du keine Dateien anfassen willst: Du kannst ein Child Theme auch per Plugin generieren (z.B. „Child Theme Configurator“). Für GeneratePress ist das Blank Child Theme aus der Doku oft der schnellste Weg:
GeneratePress Doku: Child Theme nutzen & installieren


Anpassungen im Child Theme: So machst Du’s richtig

1) CSS anpassen (wirklich CSS 😄)

Wenn Du z.B. Buttons verändern willst, gehört das in die style.css:

/* Beispiel: Buttons runder + mehr Padding */
.button,
.wp-block-button__link {
  border-radius: 10px;
  padding: 12px 18px;
}

💡 Pro-Tipp: Nur 2–3 Regeln? „Zusätzliches CSS“ im Customizer ist oft schneller. Child Theme lohnt sich, wenn Du CSS langfristig strukturieren willst.


2) PHP-Funktionen hinzufügen (Actions & Filter)

Beispiel: Weiterlesen-Link-Text ändern
Der Filter heißt the_content_more_link (offizielle Hook-Referenz):
Hook: the_content_more_link

<?php
function derwebfuchs_read_more_text( $link ) {
    return str_replace( 'Weiterlesen', 'Artikel komplett lesen →', $link );
}
add_filter( 'the_content_more_link', 'derwebfuchs_read_more_text' );

Wenn Du dazu eine GeneratePress-spezifische Anleitung willst:
Weiterlesen-Text in GeneratePress gezielt ändern

⚠️ Fehlerbild #2: „White Screen / Fatal Error nach functions.php“
✅ Sofortmaßnahmen:

  • Per FTP/Dateimanager functions.php umbenennen (z.B. functions.php.off)
  • Seite neu laden → läuft wieder
  • Snippet korrigieren (Tippfehler, fehlendes ;, falsche PHP-Tags)

Bonus: GeneratePress (Beispiel) – wann Child Theme überflüssig ist

Dieser Abschnitt ist Bonus: Wenn Du nicht GeneratePress nutzt, kannst Du ihn überspringen. Die Child-Theme-Anleitung oben bleibt trotzdem 100% gültig.

GeneratePress ist so aufgebaut, dass Du extrem viel ohne Child Theme lösen kannst – z.B. über Hooks/Elements. Schau Dir dazu die GeneratePress Hooks Overview an.

Hooks nutzen (GeneratePress-Style)

<?php
function derwebfuchs_gp_notice_banner() {
    if ( is_single() ) {
        echo '<div class="notice-box">💡 Tipp: Sichere Deine Anpassungen mit Child Theme oder Snippets.</div>';
    }
}
add_action( 'generate_before_content', 'derwebfuchs_gp_notice_banner' );

CSS dazu:

.notice-box{
  padding: 12px 16px;
  border-left: 4px solid #000;
  background: rgba(0,0,0,0.05);
  margin: 0 0 18px 0;
}

💡 Pro-Tipp: Viele Hook-Anpassungen kannst Du bei GeneratePress komplett ohne PHP über Elements lösen:
Hooks/Elements ohne Child Theme nutzen

Und wenn Du GP Premium nutzt, findest Du hier die Einordnung, ob sich der Umstieg lohnt:
GeneratePress Premium/Elements als Alternative zum Child Theme


Best Practices (damit Du Dir später selbst dankst)

Mach’s so:

  • Teste Änderungen zuerst auf Staging (wenn möglich).
  • Kommentiere Snippets („Warum existiert das?“).
  • Halte CSS und Funktionen sauber getrennt.
  • Teste nach Updates (WordPress + Theme + Plugins).

⚠️ Bitte nicht so:

  • Änderungen im Parent Theme (nach dem Update weg).
  • @import für CSS-Imports (alt/fragil – Reihenfolgeprobleme).
  • Template-Dateien kopieren, obwohl Du nur 2 Zeilen ändern willst.

Troubleshooting: Häufige Probleme (und schnelle Fixes)

Child Theme wird nicht angezeigt

✅ Prüfe:

  • Liegt style.css im Child-Ordner?
  • Ist der Header korrekt (Theme Name, Template)?
  • Stimmt Template: exakt mit dem Parent-Ordner überein?

CSS greift nicht

✅ Prüfe:

  • Cache leeren (Plugin/Server/CDN)
  • Wird style.css geladen?
  • Reihenfolge/Enqueue stimmt?

FAQ (2026): Die häufigsten Fragen zu WordPress Child Themes

Brauche ich 2026 überhaupt noch ein Child Theme?

Für Template-Overrides und größere Anpassungen: ja. Für CSS und kleine Funktionen reicht oft Customizer + Snippets/Theme-Tools.

Was ist besser: Child Theme oder Code Snippets Plugin?

Für viele kleine Funktionen ist ein Snippets-Plugin oft besser (einzeln aktivierbar, sauber dokumentierbar). Child Theme ist stärker bei Templates + strukturierter Theme-Anpassung.

Kann ich ein Child Theme später wieder entfernen?

Ja. CSS kannst Du oft in den Customizer migrieren, Funktionen in Snippets. Dann Parent aktivieren.

Warum greifen meine Child-Styles nicht?

Meist Cache oder Reihenfolge. Prüfe, ob das Child-Stylesheet geladen wird und nach dem Parent kommt.


Fazit: Dein bester Weg (je nach Ziel)

Wenn Du updatesicher arbeiten willst, ist ein Child Theme ein starkes Werkzeug – aber nicht immer die beste Lösung für jede Mini-Anpassung.

Meine Empfehlung 2026:

  • Nur CSS? → Customizer („Zusätzliches CSS“)
  • Kleine Funktionen? → Snippets-Plugin
  • Theme hat starke Tools (z.B. GP Elements/Hooks)? → nutz die zuerst
  • Templates überschreiben / viele Dateien strukturieren?Child Theme

Next Steps

  1. Entscheide mit der Tabelle: Child Theme oder Alternative?
  2. Wenn Child Theme: Ordner + style.css + optional functions.php
  3. Auf Staging testen, Cache leeren, dann live
  4. Mini-Doku führen (was hast Du warum geändert?)

Welche Anpassung willst Du machen (CSS / Funktion / Template)? Schreib’s in die Kommentare – dann sag ich Dir kurz, ob Child Theme wirklich der beste Weg ist.


Kurz-Checkliste (für Dein WordPress-Backend)

  • ✅ Child Theme ist aktiv
  • Template: stimmt (Ordnername des Parent Themes)
  • style.css wird geladen
  • ✅ Cache geleert
  • ✅ Nach Update getestet
DerWebfuchs-Logo

„Der Webfuchs“ ist das Pseudonym von Stephan Bloemers. Ich baue seit den späten 90ern Websites und teile hier praxisnahe WordPress-, GeneratePress- und SEO-Tipps – ohne Blabla, dafür mit klaren Schritten und Snippets.

Schreibe einen Kommentar