2011-09-11 59 views
1

我遇到此錯誤。我不知道如何處理這個問題。無法修改標題信息 - 已通過...發送標題問題

不能更改頭信息 - 頭已經(輸出 開始在 /home/ben213/public_html/wp-content/themes/Bendaggers/functions.php:9) 發送到/ home/ben213 /的public_html /wp-includes/pluggable.php上線934

我functions.php文件行#9:

<?php if(function_exists('register_sidebar'))register_sidebar();?> 

雖然我的pluggable.php#934是

function wp_redirect($ location,$ status = 302){ global $ is_IIS;

$location = apply_filters('wp_redirect', $location, $status); 
$status = apply_filters('wp_redirect_status', $status, $location); 

if (!$location) // allows the wp_redirect filter to cancel a redirect 
    return false; 

$location = wp_sanitize_redirect($location); 

if (!$is_IIS && php_sapi_name() != 'cgi-fcgi') 
    status_header($status); // This causes problems on IIS and some FastCGI setups 

header("Location: $location", true, $status);} 
endif; 

我很難搞清楚這一點,因爲我不是程序員。什麼似乎是錯的?請親切地幫助我...

+0

的[無法修改標題信息可能重複 - 頭已經發出.. 。Wordpress問題](http://stackoverflow.com/questions/7381661/cannot-modify-header-information-headers-already-sent-by-wordpress-issue) – fvu

+0

謝謝塞思對我的「接受評分」。你我們非常樂於助人! –

+0

@Ben,對於你以前的每個問題,請勾選幫助你的答案。這是評分旁邊的小勾號。號碼。 – KarlP

回答

1

我對wordpress一無所知,但我知道關於http的一些事情......也許這可以提供幫助。

發生此錯誤是因爲您嘗試更改標題字段,但標題已經發送。首次寫入實際頁面內容時,(自動)發送標題。

(http-headers是發送html頁面的http協議的一部分,不是html文件的一部分,類似於狀態碼(404等)的編碼等在頭文件中發送。爲了開始編寫實際的頁面,標題必須先寫。)

它看起來像主題(?)是太早使用,或者說,「重定向」插件被激活,爲時已晚......

嘗試移動「register_sidebar」直到檢查完重定向之後。

編輯:

從閱讀你的其他問題,我可以告訴你需要學習如何編程,或者使用另一種工具。找一本或兩本書,並給它一些時間。 PHP是一門相當泥濘的語言,所以它學習如何編程並不是很理想,但是因爲你似乎需要它,所以你就是這樣。

祝你好運。

+0

謝謝卡爾。不好意思說我不是程序員,但我知道一點html的CSS。說實話,我甚至都不明白pluggable.php中的一件該死的東西,當你說「嘗試移動」register_sidebar「直到你檢查了是否做了重定向之後。」,我該怎麼做? –

+0

不知何故,pluggable.php被執行。不知何故,在這之前執行functions.php。試着找出是什麼讓它變成這樣,並改變它,以便註冊側邊欄的行在pluggable.php – KarlP

+1

後面的行被執行。但是我認爲你真的在深水中。如果你複製/粘貼了許多你不明白的代碼,那麼刪除它可能是一個好主意,並嘗試從一開始就開始,你會明白你的東西。 – KarlP

3

我給99.9%這個麻煩出現了,因爲在php腳本中的第一個"<?"之前和最後一個"?>"之前的某處存在不希望有的空白。編輯以不同編碼保存文件也可以添加這樣的空白(由於BOM)。所以這並不總是取決於你的注意力。使用記事本2或其他來編輯代碼,並更好地嘗試在管理控制檯中使用內置的在線主題編輯器。嘗試找到並消除每個主題的php文件中所有不需要的空格,然後重新保存這些文件。

+0

可能是這種情況。我不知道PHP,但是當使用JSP時,甚至在指令之後的換行符「計數」... – KarlP

+0

這是我的解決方案。非常感謝。在我的一個課堂文件中,我有一個額外的行後?>,刪除,我又回到了魔術師! – kyle

1

在我的可插拔。PHP的發現功能wp_redirec替換就

header("Location: $location", true, $status); 

echo "<meta http-equiv='refresh' content='0;url=$location' />"; 
+0

它的工作和檢查..... –

1

這裏就是解決了這個問題對我來說!在「function.php」 9' 號線,這可能看起來像

?> 

<?php 

空格去掉,這樣它看起來像:

?> 
<?php 
相關問題