2013-06-21 29 views
5

Bài đăng đầu tiên của tôi, tôi hy vọng ai đó có thể giúp tôi với lỗi này đã xuất hiện trên trang web của tôi vào thứ Tư, tôi không chắc chắn cách sửa nó vì tôi chưa bao giờ chạm vào tệp .php.Lỗi: Cảnh báo: Tạo đối tượng mặc định từ giá trị trống

Nếu tôi có thể nhận được sự trợ giúp, tôi sẽ thực sự đánh giá cao về nó.

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

Lỗi này là:

Cảnh báo: Tạo đối tượng mặc định từ giá trị rỗng trong WhiteLight/chức năng/admin-hooks.php trên đường dây 160

Here is the code from lines 150 -170

+0

Có vẻ như '$ query_context' là biến trống và khi bạn có' $ query_context-> context = array(); ', nó kích hoạt lỗi vì trình thông dịch phải giả định rằng '$ query_context' là một đối tượng mặc dù nó không được định nghĩa như vậy. – jraede

+1

@Cassie: Nhấp vào liên kết trước đây của bạn cho tôi biết rằng ** "Dán này đã bị xóa!" ** Bạn có thể đưa mã trực tiếp vào câu hỏi không? Nếu không, câu hỏi sẽ không còn hữu ích cho người đọc khác với một vấn đề tương tự. – honk

Trả lời

6

này có lẽ phương tiện rằng máy chủ của bạn đã nâng cấp máy chủ lên php 5.4.x. Vui lòng tham khảo trang này về cách giải quyết vấn đề: PHP 5.4: disable warning "Creating default object from empty value"

Tóm lại, Bạn cần có trình xử lý lỗi riêng hoặc nếu đây là nơi duy nhất xảy ra thì bạn chỉ cần đặt nó là stdClass trước khi mảng như vậy:

} // End IF Statement 

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

$query_context->context = array(); 

Cũng có thể nâng cấp wordpress và plugin của nó sẽ giải quyết được sự cố. Tôi không biết nhiều về lĩnh vực đó mặc dù ...

+0

Đã hoạt động hoàn hảo! Cảm ơn bạn rất nhiều. – Baxter

1

Chèn này vào đầu WhiteLight/chức năng/admin-hooks.php để vô hiệu hóa cảnh báo:

error_reporting(E_ERROR); 
+0

Điều này không giải quyết được sự cố, dòng đó chỉ ẩn nó. –

1

Đây không phải là thực sự là một sửa chữa nhưng nó sẽ dừng lỗi. Thêm nó vào chủ đề đang hoạt động functions.php /* Dừng sai sót nếu có /error_reporting (E_ERROR | E_PARSE);/ lỗi End stop */

1

2 dòng sau nên được thêm vào admin-hooks.php ngay trước khi tuyên bố if trên dòng 160:

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

'$ query_context = new stdClass();' là cốt lõi của giải pháp :) – RozzA

0

Chúng tôi có PHP v5.4.24 và người dùng nhìn thấy lỗi tương tự khi không đăng nhập vào Wordpress v4.3.1 với chủ đề Wootique v1.6.11. Vì vậy, tôi đã thêm bản vá tạm thời này cho đến khi có bản sửa lỗi.

Đã thêm mã bên dưới để chặn lỗi. Chèn trước câu lệnh if if trong admin-hooks.php:

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

$query_context = new stdClass();  
$query_context->context = array(); 
Các vấn đề liên quan