Support » Allgemeine Fragen » Header.php im Child Theme erstellen

  • Hallo,
    ich nutze das Theme BeTheme(müsste aber vermutlich bei fast allen Themes ähnlich sein) und verwende auch ein Child Theme mit einer style.css und function.php. Jetzt möchte ich gerne auch ein header.php im Child Theme unterbringen, um den Google Tag Manager Code dort zu speichern.

    Meine Frage ist nun, wie erstelle ich solch ein Header.php im Child theme? Im Netz finde ich nur Anleitungen, bei denen ich meinen gesamten Header.php einfach aus dem Parent Theme ins Child Theme kopieren soll. Das scheint mir aber wenig sinnvoll, wenn bei Theme Updates Änderungen am header.php gemacht wurden, oder?
    Daher will ich eigentlich nur den Google Tag Manager Code im header.php des Child Themes stehen haben, weiß aber nicht wie ich das umsetzen soll.

    Über Hilfe wäre ich sehr dankbar.

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 15)
  • Hallo

    Diese Anleitungen stimmen schon, so hab ichs auch gemacht. Mit einem anderen Theme, aus anderen Gründen, aber egal, denke das passt so.

    Updates des Parents gehen am Child vorbei, was auch Sinn macht, weil die eigenen Änderungen eben erhalten bleiben.
    Würdest die originale header.php im Parent Theme modifizieren, wäre das beim nächsten Update (der Datei) weg. Die Kopie im Child bleibt.

    Aber:
    Die meist sehr einfach aufgebaute header.php wird eher selten updatet.
    Und wenn ein Update kommt, kann meist irgendwie erfahren welche Dateien verändert wurden. Auch den Quelltext könnte man vergleichen, zb. hier: https://themes.trac.wordpress.org/log/beonepage/

    Du musst einfach im Parent nachsehen, in welcher Datei das <head>…</head> untergebracht ist. Die Datei muss nicht zwingend header.php heissen. Wenn Du die Datei gefunden hast, kopierst einfach eine Kopie davon ins Child und nimmst da Deine Änderungen vor.

    Das machst Du mit jeder Datei die du ändern willst. Und nur mit Denen. Dateien die du nicht änderst brauchst auch nicht im Child.

    WP verwendet die Dateien aus dem Parent, ausser es gibt eine entsprechende im Child, dann wird diese verwendet.

    Mir geht es nicht um den Sinn eines Child Themes, sondern darum, dass ich nur den Google Tag Manager über das Child Theme im Header.php speichern möchte.

    Wenn ich aber stumpf die Header.php kopiere, muss ich ja quasi auch bei jedem Update nachschauen, ob sich was im parent Theme in der header.php geändert hat, da das Child Theme dieses ja quasi überschreibt und nicht geupdatet wird. Auch wenn die header.php nur selten geupdatet wird, hab ich trotzdem noch den Aufwand es zu überprüfen.

    Gibt es denn keine Möglichkeit, nur den Google Tag Manager Code in das Header.php des Child Themes zu kopieren?

    Leider kenne ich mich mit Marketing, SEO usw. zu wenig aus, aber hier gehts ja nur um das Snippet dieses Google Tag Manager.

    Sowas ließe sich sicher auch anders einbauen, zb mit einem Plugin, welches Codes in bestimmte Stellen (eben zb. head) injiziert oder so.
    Manche SEO Plugins können das, zb AIOSEO. Bannerplugins müssen es können, andere sind ev. nur dazu da Codes in den Header zu bringen.
    Alles ohne manuellen Eingriff in die Dateien und Updatesicher.

    Danke für deine Antwort.

    Ja der GTM ist nur ein kleines Snippet.
    Mit einem Plugin mache ich es momentan, allerdings möchte ich so wenig Plugins wie möglich einsetzen, um mögliche Sicherheitslücken in Plugins auszuschließen.

    Du könntest stattdessen mit dem Hook wp_head arbeiten,
    also
    add_action('wp_head', 'name_of_function');

    siehe
    https://developer.wordpress.org/reference/hooks/wp_head/

    Dein Theme könnte allerdings eigene Hooks verwenden, da müsstest du dich mal schlau machen. Das Code-Snippet kommt in die functions.php des Child-Themes.

    Die Suche nach wordpress funktion tag in header bei Google liefert eine mögliche Lösung:

    add_action('wp_head', 'my_google_code');
    function my_google_code(){
      echo "<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>";
    };

    Muss wohl mit echo gemacht werden, return funktioniert nicht.

    Dieser Code Schnipsel kommt in die functions.php des Child.

    ok, in der Zeit wo ich gegoogelt und getestet habe war jemand schneller.

    🙂

    Kann ich aber selber gerade auch gut gebrauchen.

    • Diese Antwort wurde geändert vor 1 Jahr, 7 Monaten von radarin.

    Dieses Plugin scheint sich auch auf das zu beschränken:

    https://wordpress.org/plugins/header-footer/

    Muss wohl mit echo gemacht werden, return funktioniert nicht.

    Man kann es auch zwischen PHP setzen

    ?> <script>....</script> <?php

    Ah, danke. Dachte da hätte sich wer vertippt, wäre nicht das erste mal.

    Was macht denn dieser „Google Tag Manager“ eigentlich?
    Kann man einem Laien das in einfachen Worten sagen?

    Mein Wissen reicht nur soweit, als dass ich weiß,
    – es gibt Werbebanner, Sponsored Posts und das man deren Reichweiten, Impressionen, Klicks, Leads uä. mit div. Tracking-Sachen messen kann.
    – Das es Google Analytics, Piwik (uä.) gibt was Zugriffe und so zählt, das es Statistikplugins für WP gibt usw.
    – Das es div. Netzwerke gibt sie beim Vermitteln und Vermarkten helfen Afiliate oder so. Google „Adwords“ oder „Ads“ fällt mir noch ein.
    – Kenne auch ein paar Grundbegriffe zu SEO (lern ich grade) und wie die Zusammenhänge zwischen Inhalt und Metaangaben über sitemap, robots usw, abgestimmt werden können.

    Nur: Was tut dieser „Google Tag Manager“ ?

    Okey danke, ich versuche es nachher mal mit dem add_action.

    Grob gesagt kannst du mit dem GTM Scripte in deine Seite einbinden, ohne tatsächliche Inhalte an deiner Seite zu verändern. Dort kannst du dann Analytics, Facebook Pixel etc. einbinden. Mit sogenannten Triggern kannst du dann Events für beispielsweise Analytics erstellen, mit denen du auch Conversions messen könntest. Die Trigger sind sehr vielfältig. Beispielsweise Scrolltiefenmessung, Linkklick, Abspieldauer von Videos und und und.

    mit dem GTM Scripte in deine Seite einbinden, ohne tatsächliche Inhalte an deiner Seite zu verändern.

    Aber sich selbst kann er nicht ohne phys. Dateiveränderung einbinden. Naja.

    Dh. das Ding fasst viele Marketingaktivitäten auf der Site, in den soz. Medien, und was weiß ich noch wo – zusammen?

    Man könnte dann evtl. auch messen wie gut die, zur eigenen Site gehörende Facebook-Seite besucht wird, wie viele kommen von da, wie viele gehen dorthin. Das dann auch noch zwischen organisch und bezahlt teilen.
    usw…

    Scrolltiefenmessung: Also ob die Leute nach dem ersten Blick weg sind oder tiefer gehen? Was ja für „Above the Fold“ Banner Platzierungen wichtig sein könnte. (den Begriff hab ich wo auf geschnappt – glaube das heißt ob man die Banner eh sofort, ohne scrollen sieht … oder so)

    • Diese Antwort wurde geändert vor 1 Jahr, 7 Monaten von pezi. Grund: 10 Tippfehler in 5 Wörtern ausgebessert

    Man könnte dann evtl. auch messen wie gut die, zur eigenen Site gehörende Facebook-Seite besucht wird, wie viele kommen von da, wie viele gehen dorthin. Das dann auch noch zwischen organisch und bezahlt teilen.
    usw…

    Das ist auch schon nur mit Analytics möglich, dafür ist der GTM nicht zwingend notwenig. Analytics kann und sollte aber über den GTM eingebunden werden, falls man den GTM benutzt, da damit auch Events erstellt werden können.

    Scrolltiefenmessung: Also ob die Leute nach dem ersten Blick weg sind oder tiefer gehen? Was ja für „Above the Fold“ Banner Platzierungen wictig sein könnte. (den Begriff hab ich wo aufgeschnappt – glaube das heißt was ob man die Banner eh sofort, ohne scrolen sieht … oder so)

    Ob sich der Banner im above the fold befindet, wäre relativ sinnlos zu messen, da er ja im Idealfall dort liegen müsste und dann sowieso immer gesehen wird.

    Man könnte aber mit sogenannter Elementsichtbarkeit messen, wie oft beispielsweise der Banner auf der Seitenmitte gesehen wird.

    • Diese Antwort wurde geändert vor 1 Jahr, 7 Monaten von sergejos.
Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 15)
  • Das Thema „Header.php im Child Theme erstellen“ ist für neue Antworten geschlossen.