变量有一定的范围。PHP手册解释道in detail. 因此,当您设置变量时,您应该知道这些变量是在哪个范围内设置的。这取决于设置它们的位置以及如何包含该文件。
正如Rarst已经建议的那样,函数。php文件是一个理想的位置,因为只要主题处于活动状态,它就会被包含在全局空间中。
除此之外,范围仍然适用。这个footer.php
例如,文件通常不包括在全局范围内。若要访问其中的变量(如果已全局设置),可以参考$GLOBALS
superglobal array.
对于某些变量,通常会这样做。如果有多个变量,可以考虑将所有变量附加到一个数组,这样在需要引用的全局范围内只有一个变量名。这使事物之间的距离更大,从长远来看,这会使事情变得更容易。因为如果将变量命名为与现有变量相同的名称,则会覆盖它们。这会破坏难以调试的东西。
示例:
在函数中。php
$mytheme_config = array();
$mytheme_config[\'extra_footer_display\'] = true;
在页脚中。php
if ($GLOBALS[\'mytheme_config\'][\'extra_footer_display\']) {
// executed when extra_footer_display is true
}
这只是一个非常基本的示例,但它可能已经为您完成了这项工作。我不知道您在PHP方面的经验,但在您可能刚开始的时候,上面提供的链接让您基本了解了这是如何工作的。请记住,模板部件不在全局范围内加载,因此您需要使用
$GLOBALS
访问它们的超全局数组。
$GLOBALS
总是引用全局变量,而不管访问它的范围是什么。