在WP中,header.php和footer.php中的include_once()文件不能相同

时间:2012-05-08 15:31:54

标签: php wordpress

有3个.php文件:

vars.php

    $foo = 'bar';

的header.php:

    include_once("vars.php");
    echo "In header: $foo";

footer.php:

    include_once("vars.php");
    echo "In footer: $foo";

在上面的情况中,$ foo未在footer.php中设置。如果我删除header.php中的include_once(),则在footer.php中设置$ foo,但不在header.php中设置。

我猜我在某个地方愚蠢,但对于我的生活,我找不到它。

2 个答案:

答案 0 :(得分:2)

..._once()函数不关心include / require发生的位置。一旦包含文件,在特定的脚本执行运行期间,它将永远不会是include_once / require_once。

如果您需要在不同位置多次包含它,请不要使用_once()变体。

答案 1 :(得分:2)

第二次没有包含它的原因是因为你告诉它include_once - 一次

无论如何,如果您将$foo保留在header.php中,则应包含include_once。确保在footer.php。

之前没有改变$foo