过去半小时我一直试图解决这个问题。
我有一个文件,ue_variables.php
我希望在整个WordPress主题中包含该文件,该文件的内容是:
if(!empty($_SERVER['HTTP_REFERER'])) {
$url_referrer = $_SERVER['HTTP_REFERER'];
$explode = explode(".",$url_referrer);
$name_referrer = ucfirst($explode);
} else {
$url_referrer = "default";
$name_referrer = "default";
}
date_default_timezone_set("UTC");
$time = date("H:i:s");
$date = date("j F Y");
我希望将它包含在header.php
中,以便用户可以在帖子中回显变量(他们已经获得了Exec-PHP插件设置,因此本身不是问题)。
首先我是愚蠢的,尝试将其包含在WordPress根文件夹(甚至不包含header.php
)中,然后我换出了真正的绝对相对链接,现在从包含的角度来看,我的WordPress页面正在破碎。
E.g。我将<?php include("/absolute/path/ue_variables.php"); ?>
放在header.php
的顶部,整个索引页面都不会加载。我把它放在底部,只加载博客的标题部分(例如标题和导航)。
任何关于为什么会发生这种情况的想法以及纠正它的措施都将受到极大的赞赏! :)
答案 0 :(得分:0)
有任何错误消息吗?当你把它放在顶部时,整个页面都不会加载;当放在底部,页面加载,但脚本不会加载,我认为/absolute/path/ue_variables.php
可能包含错误。
尝试以这种方式调试它。将代码/absolute/path/ue_variables.php
内联到header.php
,将其剥离为:
date_default_timezone_set("UTC");
$time = date("H:i:s");
$date = date("j F Y");
测试一下。如果有效,则输入if-else
语句。逐块删除代码以缩小到可能出现错误的位置。
答案 1 :(得分:0)
我的理解是WordPress不使用传统的包含脚本。相反,WordPress使用钩子和内置函数。我自己是wordpress的新手,所以我无法帮助你,但我可以指出你正确的方向。您使用的是儿童主题还是父母?因为如果您使用子主题,您可以复制头文件并将其重命名为header-pain。然后,您要复制要包含新标题的页面文件,并找到header()函数。然后,您将这些函数传递给新标头的参数。所以在这个例子中,这些函数看起来像这个get_header('pain'); 希望这有帮助,如果您不使用儿童主题,这可能会有效。无论哪种方式让我知道
答案 2 :(得分:0)
您没有开放<?php
标记,因此当它包含它时,它不知道它是什么类型的代码并且可能会失败。如果你计划包含一个单独的文件,这是必要的添加一个开放的php标签(但不是一个结束),否则在代码周围添加打开和关闭php标签并直接放在主题中的header.php
文件中夹。