这个问题是关于wordpress
的。
我在index.php
、archieve.php
、search.php
和single.php
文件的第一行分别声明了两个变量$random_n
和$adcount
。
变量声明如下:
<?php $random_n = randomNumber();?>
<?php $adcount = 1; ?>
randomNumber()
是function.php中的一个函数。
如果我将这些变量移动到header.php
并从所有这些文件中删除,它将停止工作。:/如果将变量放在header.php
中,则在index.php
、archieve.php
、search.php
、single.php
中找不到这些变量
我还尝试将此代码放入一个新文件中,并将该文件包含到index.php
、archieve.php
、search.php
和single.php
中,但这也没有帮助。
如果变量与您的博客配置有某种关联,您应该使用wordpress选项API来构建它(请参阅此处,搜索选项)。
如果你的变量是随机的(函数名暗示了这一点),那么解决这个问题的方法就是使用会话变量来存储这些值。
关于如何在wordpress中使用会话变量的好教程可以在这里找到:http://www.myguysolutions.com/2010/04/14/how-to-enable-the-use-of-sessions-on-your-wordpress-blog/
请在index.php
的开头键入var_dump($random_n)
并发布输出。
一个可能的原因是,您的index
、search
等包含在与header.php
不共享作用域的函数中,因此您的var刚好在作用域之外。如果您在header.php
和您的工作文件中都声明它们为global
,这可能会有所帮助。但这不是一个好主意。
更好的解决方案是引入一些Registry
对象(注册表模式)并使用它