2013-06-21 10 views
5

Moja pierwsza publikacja, mam nadzieję, że ktoś może mi pomóc z tym błędem, który pojawił się na mojej stronie w środę, nie jestem pewien jak to poprawić, ponieważ Nigdy nie dotknąłem pliku .php.Błąd: Ostrzeżenie: Utworzenie domyślnego obiektu z pustej wartości

Gdybym mógł uzyskać pomoc, byłbym bardzo wdzięczny.

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

błędu jest:

ostrzegawcze: Tworzenie obiektu z domyślną wartością pustą w whiteLight/funkcje/admin-hooks.php on line 160

Here is the code from lines 150 -170

+0

Wygląda '$ query_context' jest zmienna pusta, a kiedy masz' $ query_context- context => array(); ', który wyzwala błąd, ponieważ interpreter musi przyjąć, że '$ query_context' jest obiektem, mimo że nie został zdefiniowany jako taki. – jraede

+1

@Cassie: Kliknięcie na twój link do pastebin mówi mi, że ** "Ta pasta została usunięta!" ** Czy mógłbyś dołączyć kod bezpośrednio do pytania? W przeciwnym razie pytanie nie jest już pomocne innym czytelnikom mającym podobny problem. – honk

Odpowiedz

6

to zapewne oznacza że twój host uaktualnił serwer do php 5.4.x. Proszę odnieść się do tej strony, aby rozwiązać problem: PHP 5.4: disable warning "Creating default object from empty value"

Podsumowując, musisz mieć własną procedurę obsługi błędów lub jeśli jest to jedyne miejsce, w którym się pojawia, wystarczy, że zrobisz z niej stdClass, zanim zrobisz to array tak:

} // End IF Statement 

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

$query_context->context = array(); 

Możliwe jest również, że aktualizacja wordpress i jego wtyczek rozwiąże problem. Nie wiem zbyt wiele o tym obszarze mimo ...

+0

Działa doskonale! Dziękuję bardzo. – Baxter

1

Włóż to na początku whiteLight/funkcje/admin-hooks.php wyłączyć ostrzeżenia:

error_reporting(E_ERROR); 
+0

To nie rozwiązuje problemu, tylko ukrywa go linia. –

1

nie jest to poprawka, ale powinien zatrzymać błąd. Dodaj go do swoich aktywnych tematów functions.php /* Zatrzymanie ewentualne błędy /error_reporting (E_ERROR | E_PARSE)/ końcowego zatrzymania Błędy */

1

następujące 2 linie powinny zostać dodane do admin-hooks.php tuż przed oświadczeniem if na linii 160:

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

'$ query_context = new stdClass();' jest rdzeniem rozwiązania :) – RozzA

0

Mamy PHP v5.4.24 a użytkownicy widzą ten sam błąd, gdy nie jest zalogowany w na Wordpress v4.3.1 z Wootique motyw v1.6.11. Dodałem więc tę tymczasową poprawkę, dopóki poprawka nie będzie dostępna.

Dodano kod poniżej, aby wyłączyć błąd. Wstawić przed 'czy' oświadczenie w administracyjny hooks.php:

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

$query_context = new stdClass();  
$query_context->context = array(); 
Powiązane problemy