1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

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

Dieses Thema im Forum "Design" wurde erstellt von FrankNDD, 20. Januar 2016.

  1. FrankNDD

    FrankNDD Member

    Registriert seit:
    18. Januar 2016
    Beiträge:
    14
    Zustimmungen:
    0
    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?
     
  2. NDDT

    NDDT Well-Known Member

    Registriert seit:
    1. März 2015
    Beiträge:
    275
    Zustimmungen:
    0
    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.
     
  3. FrankNDD

    FrankNDD Member

    Registriert seit:
    18. Januar 2016
    Beiträge:
    14
    Zustimmungen:
    0
    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?

    Dass 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?
     
    #3 FrankNDD, 20. Januar 2016
    Zuletzt bearbeitet: 20. Januar 2016
  4. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden