it-swarm.com.de

wo soll eine PHP-Datei eingefügt werden? 

Ich habe eine PHP-Datei mit einigen Variablen, die ich verwenden möchte.

Wenn ich es in die header.php einbinde, werden die Variablen in dieser Datei bei footer.php und einigen anderen Stellen nicht erkannt.

Wo ist der beste Ort, um diese Datei einzuschließen, damit ihr Inhalt in allen wp-Dateien geteilt wird.

2
Ofer

Variablen haben einen bestimmten Gültigkeitsbereich. Das PHP Handbuch erklärt das im Detail . Wenn Sie also eine Variable festlegen, sollten Sie wissen, in welchem ​​Bereich diese festgelegt sind. Dies hängt davon ab, wo Sie sie festlegen und wie diese Datei eingefügt wird.

Wie Rarst bereits vorgeschlagen hat, ist die Datei function.php ein idealer Ort, da sie immer dann in den globalen Speicherbereich aufgenommen wird, wenn Ihr Thema aktiv ist.

Daneben gilt weiterhin der Geltungsbereich. Die Datei footer.php ist beispielsweise normalerweise nicht im globalen Geltungsbereich enthalten. Um auf Ihre Variablen darin zuzugreifen - wenn Sie sie global festgelegt haben - können Sie sich auf das $GLOBALS superglobale Array beziehen.

Dies ist normalerweise bei einigen Variablen der Fall. Wenn Sie mehrere haben, können Sie stattdessen alle Ihre Variablen an ein Array anhängen, sodass Sie nur einen Variablennamen im globalen Bereich haben, auf den Sie sich beziehen müssen. Dies hält die Dinge ein Stück voneinander entfernt, was es auf lange Sicht einfacher macht. Denn wenn Sie Ihre Variablen genauso benennen wie vorhandene Variablen, werden Sie diese überschreiben. Das kann zu Problemen führen, die nur schwer zu beheben sind.

Beispiel:

in function.php

$mytheme_config = array();
$mytheme_config['extra_footer_display'] = true;

in footer.php

if ($GLOBALS['mytheme_config']['extra_footer_display']) {
    // executed when extra_footer_display is true
}

Dies ist nur ein sehr einfaches Beispiel, aber es erledigt wahrscheinlich bereits die Arbeit für Sie. Ich kenne Ihre Erfahrung mit PHP nicht, aber als Sie wahrscheinlich anfangen, geben Ihnen die oben angegebenen Links das grundlegende Verständnis, wie dies funktioniert. Bedenken Sie jedoch, dass Vorlagenteile nicht innerhalb des globalen Bereichs geladen werden. Sie müssen daher mit dem superglobalen Array $GLOBALS auf globale Variablen verweisen, um darauf zugreifen zu können. $GLOBALS bezieht sich immer auf globale Variablen, unabhängig davon, in welchem ​​Bereich darauf zugegriffen wird.

5
hakre

Der beste Ort, um Code in ein Thema aufzunehmen, ist normalerweise Funktionsdatei (functions.php) anstelle von Vorlagendateien (die von Plugins, untergeordneten Themen usw. überschrieben werden können und werden).

Abhängig von Ihren Angaben können Sie dort Konstanten definieren oder eine Wrapper-Funktion erstellen und sie mit einer Aktion verknüpfen, die in späteren Phasen des Ladens des Themas ausgelöst wird.

Abhängig von den Besonderheiten möchten Sie möglicherweise auch Options API aufrufen, um Werte in der Datenbank zu speichern.

8
Rarst

Sie müssen die Variablen zu Konstanten machen und in die Datei header.php aufnehmen. Wenn Sie die Datei index.php verwenden, werden sie abhängig von Ihren Einstellungen nur auf Ihrer Startseite/Blog-Hauptseite angezeigt und es fehlen Kategorien, Tags, Suchanfragen und Seiten.

0
curtismchale