wake-up-neo.net

Wie deklariere ich eine globale Variable in PHP Kann ich über Vorlagen hinweg verwenden?

In WordPress ruft es header.php auf und ruft dann den Namen der Vorlage oder die angeforderte Seite auf. Wie kann ich eine Variable in meinem PHP-Header deklarieren, auf die ich dann in meinen anderen Vorlagen verweisen kann? 

27
Claire

Die Antwort hängt ziemlich stark davon ab, wozu Sie es brauchen. Wenn Sie ein Design entwickeln und die Werte durch alle Dateien konstant halten möchten, können Sie sie in functions.php im Designverzeichnis ablegen, das immer geladen wird. Dort definierte Variablen sollten überall im Theme verfügbar sein. Dies funktioniert, wenn Sie das Thema verteilen.

Wenn Sie ein vorhandenes Design für Ihre eigene Installation an Ihre eigene Installation anpassen möchten, können Sie es entweder wie vorgeschlagen in wp-config.php einfügen, oder (eine sauberere Methode) Sie können ein untergeordnetes Design des Designs erstellen, das Sie ändern möchten . Dadurch wird es vom WordPress-Kern getrennt und das Aktualisieren der Änderungen durch Theme-Updates verhindert.

Ich habe es gerade mit functions.php ausprobiert:

functions.php:

$variable = "value";

header.php:

global $variable;
echo $variable;

funktioniert bei mir.

38

Sie können es wie folgt deklarieren (In functions.php):

global $domain;
$domain = 'http://www.mydomain.com/';

Sie können jedoch die Domäne der WordPress-Site auf diese Weise wiederholen.

<?php bloginfo('site_url');?>

Oder

$url = site_url();
echo $url;

Oder als Funktion in functions.php

function displayMyDomain() {
  global $domain; // you probably don't actually need to set it global as it is a function
  $domain = 'http://www.domain.com/';
  echo $domain;
}

Dann überall, <?php displayMyDomain(); ?>

7
SMacFadyen

Sie können sie in der wp-config.php-Datei definieren.

Die Konfigurationsdatei wird nie aktualisiert, so dass Ihre Wordpress-Installation diese Variablen im Laufe der Zeit auch dann hat, wenn Sie sie aktualisieren.

<?php
  require_once('wp-config.php');
  echo $domain;
?>
4
Mihai Iorga

Eine andere Möglichkeit, globale Konstanten in Wordpress zu definieren, wenn Sie aus praktischen Gründen keine Variable zu Ihrer WP-Konfiguration hinzufügen möchten (um sie sauber zu halten?). Aus verschiedenen Gründen erhält Ihr variabler Geltungsbereich nicht überall auf Ihrer Website den globalen Geltungsbereich.

Sie können einfach verwenden:

define( 'MY_VARIABLE', 'My Value' );

Weitere Informationen zu consts scope: http://php.net/manual/de/language.constants.php