【问题标题】:php/wordpress include a filephp/wordpress 包含一个文件
【发布时间】:2012-02-13 22:05:29
【问题描述】:

这个问题是关于wordpress

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

变量声明如下:

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

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

如果我将这些变量移动到header.php 并将它们从所有这些文件中删除,它就会停止工作。 :/ 变量放在index.php,archieve.php,search.php,single.php如果放在header.php里面是找不到的

我也尝试将此代码放入一个新文件中,并将该文件包含到index.phparchieve.phpsearch.phpsingle.php,但也没有帮助。

【问题讨论】:

  • 从你的问题描述中很难看出你做错了什么。

标签: php wordpress function include


【解决方案1】:

请在index.php 的开头输入var_dump($random_n) 并发布输出。

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

更好的解决方案是引入一些Registry 对象(Registry pattern)并使用它。

【讨论】:

    【解决方案2】:

    如果变量与您的博客配置有某种关联,您应该使用 wordpress 选项 API 来构建它(请参阅 here ,搜索选项)。

    如果您的变量是随机的(您的函数名称暗示了这一点),解决此问题的方法是使用 session variables 来存储这些值。

    关于如何在 wordpress 中使用会话变量的好教程可以在这里找到: http://www.myguysolutions.com/2010/04/14/how-to-enable-the-use-of-sessions-on-your-wordpress-blog/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      相关资源
      最近更新 更多