【问题标题】:WordPress include file at header not workingWordPress在标题中包含文件不起作用
【发布时间】:2016-01-05 23:43:48
【问题描述】:

我尝试在 header.php 中包含一些 php 文件。我使用下面的脚本:-

get_template_part( 'custom/tos_functions');

但是 get_template_part 对我不起作用,所以我使用 include 可以正常工作。

include (TEMPLATEPATH . "custom/tos_functions.php");

问题是,如果我把这一行放在 header.php 中,我想使用自定义模板中的一些函数,比如 profile.php。在 profile.php 中,该文件好像根本没有被调用。我无法在 profile.php 中获取我需要的数据。

然后我尝试从 header 中取出包含脚本,并将其放在 profile.php 中,我需要的数据可以很好地调用。 这将是一个问题,因为我需要创建许多自定义 php 页面,因此每个页面都会调用包含脚本。

问题,为什么无法从 header.php 调用该文件?数据只能在 header.php 中检索,任何调用 header 的自定义页面都无法从包含文件中获取数据。

无论如何我可以解决这个问题,以便我可以将包含文件放在 header.php 中?

谢谢!

【问题讨论】:

  • 为什么你没有将这些函数包含在functions.php中?
  • 这是另一个系统的API列表,因此想将它们分开。
  • 那是错误的地方来包含它们。包含您的functions.php中的文件(不要将函数放在functions.php中,而是require_once您的文件在functions.php中)。
  • 其实函数文件只是一个例子,我还有另外两个文件要包含。因此我不能放入functions.php,这是一个自定义页面,我需要调用一些API到公司的系统,所以它就像一个自定义的php文件。
  • 我会试试functions.php里面的require_once。非常感谢大家的回复。

标签: php wordpress


【解决方案1】:

不应将文件包含在主题模板文件中(例如header.php),而应将它们包含在主题的functions.php 文件中。

将它们包含在模板文件中几乎总是在 WP 运行中为时已晚而无法发挥作用,并且可能会导致模板中出现意外结果和意外输出。

相反,在您的 functions.php 文件中,执行如下操作:

require_once 'custom/tos_functions.php';

然后,您的 API 代码在您需要的地方可用,并且在“正确”的位置并与“WordPress 方式”保持一致。

【讨论】:

  • 非常感谢您的详细解释!
猜你喜欢
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 2014-11-22
相关资源
最近更新 更多