Cum se rezolvă problema dashboard-ului gol în WordPress?

23 dec. 2013, 11:54:43
Vizualizări: 54.6K
Voturi: 44

Un site al companiei mele folosește un blog pe WordPress 3.3.1 cu o temă bazată pe Twenty Ten. Săptămâna trecută am actualizat Apache și PHP pe serverul nostru de producție. După aceea, dashboard-ul a încetat să funcționeze. Când un utilizator se autentifică, apare un dashboard gol. Meniul cu linkuri este încă prezent, dar niciunul dintre linkuri nu funcționează, astfel încât nu se pot crea postări noi etc. În sursa paginii văd următorul mesaj:

Fatal error: Access to undeclared static property: WP_Screen::$this in blog/wp-admin/includes/screen.php on line 706

Nu s-au făcut modificări la configurația WordPress și nu s-au instalat plugin-uri noi. Cum pot rezolva această problemă?

1
Comentarii

De ce nu actualizați la versiunea stabilă curentă a WordPress cu suport pentru versiunile mai noi de PHP?

bueltge bueltge
23 dec. 2013 11:59:12
Toate răspunsurile la întrebare 4
3
84

Există o eroare în WordPress 3.3.1 care provoacă această problemă. Este posibil să afecteze și alte versiuni.

Pentru a rezolva problema, puteți actualiza WordPress la versiunea stabilă curentă și să efectuați teste de integrare ulterior. Sau puteți aplica o remediere rapidă a erorii.

Pentru a repara eroarea:

  1. Deschideți fișierul blog/wp-admin/includes/screen.php în editorul de text preferat.
  2. Pe linia 706 găsiți următoarea instrucțiune PHP: <?php echo self::$this->_help_sidebar; ?>
  3. Înlocuiți-o cu instrucțiunea: <?php echo $this->_help_sidebar; ?>
  4. Salvați modificările.

Sper că vă ajută.

23 dec. 2013 21:58:40
Comentarii

Mulțumesc, am avut aceeași problemă și am rezolvat-o. Care este bug-ul în linia de mai sus? Pentru că inițial site-ul meu funcționa perfect până când am văzut această eroare.

Imran Subhani Imran Subhani
25 feb. 2015 12:55:00

@Imran Bug-ul este o referință sintactic incorectă la proprietatea '_help_sidebar' a unei instanțe a clasei WP_Screen. Se pare că interpretoarele PHP înainte de o anumită versiune sunt mai indulgenti cu această afirmație, dar după actualizarea la o versiune mai nouă pur și simplu raportează eroarea.

Dmitry Lebedev Dmitry Lebedev
27 feb. 2015 11:26:41

Știu că comentariile de "mulțumesc" sunt descurajate, dar asta a durat câteva secunde să implementez și mi-a salvat literalmente blogul. Această problemă ciudată nici măcar nu apare în jurnalele mele de erori.

1owk3y 1owk3y
12 feb. 2017 09:12:01
3

Răspunsul lui Dmitry de a înlocui declarația PHP incorectă mi se pare cel mai bun:

Înlocuiți <?php echo self::$this->_help_sidebar; ?>

Cu <?php echo $this->_help_sidebar; ?>

24 dec. 2013 15:10:29
Comentarii

Modificarea fișierelor de bază nu este niciodată recomandată, deoarece veți pierde schimbările la actualizări și, de asemenea, vă recomand să vă abțineți de la a comenta în firul de răspunsuri. Înțeleg că nu aveți încă privilegiul de a adăuga comentarii, dar să păstrăm firurile de răspunsuri doar pentru răspunsuri.

Maruti Mohanty Maruti Mohanty
24 dec. 2013 15:50:55

Adevărat, dar dacă acest ecran alb al morții te împiedică să faci upgrade la versiunea în care această problemă a fost remediată (adică cea mai recentă :)), atunci aceasta este cea mai rapidă soluție. Modificările tale vor fi imediat suprascrise, astfel că efectul secundar nedorit va dispărea.

Attila Fulop Attila Fulop
6 mar. 2014 12:20:36

Un site pe care nu l-am atins de 10 ani tocmai a avut această problemă. Mulțumesc, am reușit să rezolv cu ușurință.

beefaroni beefaroni
8 dec. 2020 05:02:35
0

ai trei opțiuni

  • Downgrade PHP - probabil nu-ți va plăcea
  • Upgrade WordPress - rulezi versiunea 3.3.1? e timpul pentru un upgrade în orice caz
  • Repară eroarea în core - Nu e atât de rău pe cât sună, deoarece codul "screen" controlează ecranul de ajutor și s-ar putea să nu mai ai nevoie de ajutor pentru operarea WordPress.
23 dec. 2013 12:47:35
0

Chiar dacă nu ați făcut nicio modificare de configurare sau nu ați adăugat plugin-uri noi în WordPress, actualizarea versiunii PHP de bază ar putea provoca un conflict cu unul dintre plugin-urile pe care le-ați folosit deja cu succes.

Deoarece nu puteți accesa panoul de administrare pentru a dezactiva plugin-urile, încercați pur și simplu să redenumiți folderul /wp-content/plugins în ceva de genul /wp-content/plugins-VECHI și apoi încercați să accesați din nou panoul de administrare.

Dacă reușiți să vă conectați după dezactivarea plugin-urilor, puteți încerca să le reactivați unul câte unul pentru a vedea care ar putea fi cauza problemei și să îl lăsați dezactivat până când actualizați nucleul WordPress și plugin-ul în sine la cele mai recente versiuni care, sperăm, nu au aceste probleme.

23 dec. 2013 20:47:04