where to include a php file

时间:2010-11-26 作者:Ofer

我有一个php文件,其中包含一些我想使用的变量。

当我将其包含在标题中时。php该文件中的变量在页脚处无法识别。php和其他一些地方。

哪里是包含此文件的最佳位置,因此其内容将在所有wp文件中共享。

3 个回复
最合适的回答,由SO网友:hakre 整理而成

变量有一定的范围。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 总是引用全局变量,而不管访问它的范围是什么。

SO网友:Rarst

在主题中包含代码的最佳位置通常是 Functions File (functions.php) 而不是模板文件(这些文件可以而且经常被插件、子主题等覆盖)。

根据具体情况,您可以在其中定义常量,或创建包装函数和hook it 在主题加载的后期阶段触发一些动作。

还取决于您可能想了解的具体情况Options API 在数据库中存储值。

SO网友:curtismchale

您需要将变量设置为常量,并将其包含在标题中。php使用索引。php将只在您的主页/主博客页面上包含它们,具体取决于您的设置,并且将丢失任何类别、标记、搜索和页面。

结束

相关推荐

Single-type.php不起作用,正在传递404

我已经创建了一个自定义帖子类型,并成功添加了一些条目。我可以用query_posts() 出现在头版,但是the_permalink() 在每一个页面上,都会将我发送到“未找到页面”404。我错过了什么?我当前正在运行http://localhost, 因此the_permalink() 从首页自定义帖子类型循环将用户发送到http://localhost/PU/PU2010/website/cartoons/einstein-on-california.功能。phpfunction createCart