Support » Allgemeine Fragen » Globale Variablen

  • Hi,

    ich habe einen Template-Abschnitt in dem ich eine Variable definiere. Genau genommen handelt es sich um ein Kontakt-Template mit Google Maps Implementierung. Jetzt möchte ich erreichen das die Google Scripte auch nur auf der Kontaktseite geladen werden, bzw. auf den Seiten wo man die Map noch einbindet. Dazu habe ich im Kontakt-Template eine Variable definiert, die sagt: Hier wird die Map angezeigt. Dann ist die Variable true.

    global $my_var;
    $my_var = true;

    Jetzt möchte ich das in der functions.php eingebundene Script nur dann abrufen, wenn es benötigt wird:

    global $my_var;
    if($my_var == true){ ... load the script ... }

    Nur leider schaffe ich es nicht das meine globale Variabel bis zur functions.php reicht. Denn sie wird leider nicht erkannt. Wenn ich das mit der globalen Variable in der header.php teste und sie dann in der functions.php abrufe, klappt es. Wird sie dagegen in meinem Template oder z.b. in der footer.php definiert, klappt es leider nicht. Weiß jemand wo hier der Fehler liegt?

Ansicht von 1 Antwort (von insgesamt 1)
  • Moderator Bego Mario Garde

    (@pixolin)

    Ich vermute, dass du auf die Variable zugreifst, bevor sie gesetzt wurde.

    <?php
    echo "Versuch eins: {$dolly} \n"; // ergibt Versuch eins: [leer]
    
    global $dolly;
    $dolly = 'hello';
    
    echo "Versuch zwei {$dolly} \n"; // ergibt Versuch zwei: hello

    Üblicherweise werden Kontaktformulare mit einem Shortcode eingebunden. Du könntest dann has_shortcode() verwenden (vgl. https://developer.wordpress.org/reference/functions/has_shortcode/#comment-747). Oder du verwendest ein Conditional Tag wie is_page() oder is_page_template( 'page-contact.php' ).

Ansicht von 1 Antwort (von insgesamt 1)
  • Das Thema „Globale Variablen“ ist für neue Antworten geschlossen.