Verständnisproblem zu Child-Themes (Anfängerfrage!)

  • Ich will mir ein Child-Theme anlegen, um Änderungen in php-Dateien - beispielsweise den Google-Analytics-Code in der header.php - bei Updates nicht zu verlieren. Meine Frage: Muss ich die php-Datei des Parent-Themes mit deren kompletten Inhalt in den Ordner des Child-Themes kopieren (dort natürlich zusätzlich mit meinen Änderungen) oder reicht es, wenn die php-Datei im Child-Theme-Ordner nur meine Änderungen ohne den restlichen Original-Code enthält?

    Wenn die php-Datei den kompletten ursprünglichen Inhalt zzgl. meiner Änderungen enthalten muss (was ich logischer fände): Was passiert dann, wenn bei einem Theme-Update Sicherheitslücken in der entsprechenden Datei im Parent-Theme geschlossen werden oder wenn dort Funktionen geändert werden? Dann behalte ich ja mit meinem Child-Theme die alte unsichere Version. Bzw. bei Funktionsänderungen müsste es ja sogar dazu führen können, dass meine alte php-Datei im Childtheme mit den anderen neueren des Parent-Themes nicht mehr fehlerfrei zusammen funktioniert. Wie sichert man sich dagegen ab?

    Wenn die php-Datei vom Child-Theme dagegen nur die zusätzlichen Änderungen enthalten muss: Woher erhält der Webserver dann die Information, an welcher Stelle dieser Code eingefügt werden soll? Also woher wird z.B. klar, dass der Google-Code in den <head>-Bereich gehört?

    Wie funktioniert das?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hi Frank,

    das Child-Theme muss nur eine style.css enthalten. Alle anderen Dateien sind optional. Wenn das Child-Theme eine Datei enthält wird diese statt der aus dem Parent-Theme verwendet. Das heißt du musst diese Datei komplett kopieren und dann die Änderungen in der Kopie durchführen. Datei die du nicht bearbeiten willst brauchst du nicht ins Child-Theme zu kopieren.

    Bei Updates kannst du einfach das komplette Parent-Theme überschreiben. Das dann eventuelle Updates nicht ins Child übernommen werden ist leider ein Problem.

  • [COLOR=#333333]Aber die konkrete Sache mit dem Google-Analytics-Code kann ich doch nicht ins CSS schreiben - dafür muss ich ja die header.php nehmen. Wenn es ein bekanntes Problem ist, dass eventuelle Änderungen bei Thema-Updates (logischerweise) nichts ins Child-Theme mit übernommen werden - gibt es dagegen eine übliche Lösung?

    [/COLOR]Dass [COLOR=#333333]Dateien die nicht verändert werden, nicht mit ins Child-Theme kopiert werden müssen, ist mir klar. Ich habe mich da vielleicht etwas unglücklich ausgedrückt. Ich meine mit "kompletter Inhalt" nicht, dass ich alle Dateien im Theme-Ordner mit übernehmen will, sondern ob ich den kompletten Inhalt einer Datei mit übernehmen muss? Also konkret im Falle der erwähnten header-php: Wenn die bei mir im unveränderten Original z.B. 50 Zeilen Code enthält und ich zusätzliche 10 Zeilen einfüge - muss meine Datei im Child-Theme dann alle 60 oder nur die 10 eigenen Zeilen enthalten?[/COLOR]

    Einmal editiert, zuletzt von FrankNDD (20. Januar 2016 um 21:50)

  • 60 Zeilen. 50 Zeilen Originalcode + deine 10 Zeilen Ergänzung.

    Wenn im Theme-Ordner des Child-Themes eine Datei header.php liegt, nimmt WordPress diese Datei statt der header.php aus dem Theme-Ordner des Parent-Themes. Deswegen braucht WordPress den kompletten Code der jeweiligen Datei.

    Gruß
    helix

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!