2013-06-21 75 views
5

我第一次發帖,我希望有人可以幫我解決這個錯誤,在我的網站上出現截至週三,我不知道如何糾正它,因爲我從未接觸過.php文件。錯誤:警告:從空值創建默認對象

如果我能得到一些幫助,我會非常感激。

The website with error, located at the top of the page.

錯誤是:

警告:從在白光/功能/管理-hooks.php空值在線路創建默認對象160

Here is the code from lines 150 -170

+0

看起來像'$ query_context'是一個空的變量,當你有'$ query_context->上下文=陣列();',它觸發錯誤,因爲解釋器必須假定'$ query_context'是一個對象,即使它沒有被定義爲這樣。 – jraede

+1

@Cassie:點擊你的pastebin鏈接告訴我**「這個粘貼已被刪除!」**你能直接在代碼中包含代碼嗎?否則,這個問題對於其他類似問題的讀者不再有幫助。 – honk

回答

6

這可能意味着您的主機已將服務器升級到php 5.4.x.請參考此頁如何解決問題:PHP 5.4: disable warning "Creating default object from empty value"

總之,您需要有自己的錯誤處理程序,或者如果這是它發生的唯一的地方,那麼你只需要使它成爲stdClass之前使它成爲一個陣列像這樣:

} // End IF Statement 

if (!is_object($query_context)) { 
    $query_context = new stdClass(); 
}   

$query_context->context = array(); 

也可能升級wordpress及其插件可以解決問題。我不知道很多關於這方面的,但...

+0

工作完美!非常感謝。 – Baxter

1

在白光的開頭插入該/功能/管理,hooks.php禁用警告:

error_reporting(E_ERROR); 
+0

這並不解決問題,該行只隱藏它。 –

1

這是不是一個真正的修復,但它應該停止錯誤。將它添加到您的活動主題的functions.php /*停止錯誤,如果任何/使用error_reporting(E_ERROR | E_PARSE);/末停止錯誤*/

1

下面的2行應該只是if聲明之前加入admin-hooks.php上線160:

$query_context = new stdClass(); 
$query_context->context = array(); 
+0

'$ query_context = new stdClass();'是解決方案的核心:) – RozzA

0

我們有PHP v5.4.24和用戶看到時未登陸與Wootique主題v1.6.11的WordPress v4.3.1同樣的錯誤。所以我添加了這個臨時補丁,直到有修復程序可用。

添加下面的代碼來抑制錯誤。前插入 '如果' 語句在管理-hooks.php:

/* suppress error with this */ 
ini_set('display_errors', 0); 

$query_context = new stdClass();  
$query_context->context = array(); 
相關問題