簡體   English   中英

在WordPress header.php中包含自定義PHP-頁面無法加載

[英]Including custom PHP in WordPress header.php - page doesn't load

在過去的半小時內,我一直在努力解決這一問題。

我有一個文件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頁面正在斷開,從包容性的角度向下。

例如,我放置<?php include("/absolute/path/ue_variables.php"); ?> header.php頂部的<?php include("/absolute/path/ue_variables.php"); ?>不會加載整個索引頁。 我將其放置在底部,並且僅加載博客的標頭部分(例如標頭和導航)。

任何關於為什么發生這種情況的想法以及糾正它的措施將不勝感激! :)

您沒有開放的<?php標記,因此當包含它時,它不知道它是什么類型的代碼,並且很可能會失敗。 如果計划包括一個單獨的文件,則有必要添加一個開頭的php標簽(而不是一個結尾),否則,在代碼周圍添加開頭和結尾的php標簽,並直接放置在主題文件夾中的header.php文件中。

有任何錯誤訊息嗎? 當您將其放在頂部時,整個頁面將不會加載; 當放在底部時,頁面加載,但是腳本不會加載,第一手,我認為/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語句。 逐個代碼地縮小代碼范圍以縮小到可能出現錯誤的位置。

據我了解,WordPress不使用常規的include來包含腳本。 相反,WordPress使用掛鈎和內置函數。 我是不熟悉Wordpress的人,因此我無法為您提供大量幫助,但我可以為您指明正確的方向。 您正在使用兒童主題還是父母主題? 因為如果您使用子主題,則可以制作頭文件的副本並將其重命名為頭疼痛。 然后,復制要包含新標題的頁面文件,並找到header()函數。 然后,您可以將新標頭的參數傳遞給這些函數。 因此,在此示例中,這些函數看起來像這樣:get_header('pain'); 希望這會有所幫助,如果您不使用兒童主題,則可能會起作用。 無論哪種方式,我都知道

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM