页面变量范围内的WordPress

时间:2014-11-02 04:28:59

标签: php wordpress variables

我对WordPress中的变量范围感到困惑。 即将在一个文件中定义的变量可用 在同一主题的另一个文件中?即。

档案位置: 自定义主题

情景1

file: functions.php
line 1: <?php 
line 2:  $foo = 'value';

file: footer.php
line 1: <?php 
line 2:  echo $foo; //undefined?

情景2

file: header.php
line 1: <?php 
line 2:  $foo = 'value';

file: footer.php
line 1: <?php 
line 2:  echo $foo; //undefined?

2 个答案:

答案 0 :(得分:0)

如果将变量视为全局变量,则可以访问变量。例如:

如果您在functions.php

中分配变量
$test_variable = 'this is test';

header.php中,您可以这样做。

global $test_variable;
echo $test_variable;

答案 1 :(得分:0)

要在整个主题中使变量可用,您需要将其设置为全局变量。根据您的示例,该变量集仅可用于该特定函数。

这里有关于全局的一些注释

  • 如果可以,请避免一起设置自己的全局变量。

  • 您必须确保在全局范围内设置的所有变量都具有唯一的名称。例如,使用混合字符,使用大写字母和小写字母混合,并在其间添加一些数字

  • 名称也不仅仅是唯一的,但不应轻易重新创建。例如,像$dog这样的全局名称是唯一的,但是这个名称可以很容易地用在另一个插件中,该插件将与您的全局变量名称冲突。要使其非常独特,请将主题名称与变量名称结合使用,例如$mytheme_dog

从您的示例中,您可以尝试这样的事情

file: functions.php
line 1: <?php 
line 2: global $foo;
line 3:  $foo = 'value';

file: footer.php
line 1: <?php 
line 2: global $foo;
line 3:  echo $foo;