php/wordpress包含一个文件


php/wordpress include a file

这个问题是关于wordpress的。

我在index.phparchieve.phpsearch.phpsingle.php文件的第一行分别声明了两个变量$random_n$adcount

变量声明如下:

<?php $random_n = randomNumber();?> 
<?php $adcount = 1; ?>

randomNumber()是function.php中的一个函数。

如果我将这些变量移动到header.php并从所有这些文件中删除,它将停止工作。:/如果将变量放在header.php 中,则在index.phparchieve.phpsearch.phpsingle.php中找不到这些变量

我还尝试将此代码放入一个新文件中,并将该文件包含到index.phparchieve.phpsearch.phpsingle.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)并发布输出。

一个可能的原因是,您的indexsearch等包含在与header.php不共享作用域的函数中,因此您的var刚好在作用域之外。如果您在header.php和您的工作文件中都声明它们为global,这可能会有所帮助。但这不是一个好主意。

更好的解决方案是引入一些Registry对象(注册表模式)并使用它