¿Cómo solucionar el problema del panel de control vacío en WordPress?

23 dic 2013, 11:54:43
Vistas: 54.6K
Votos: 44

Un sitio de mi empresa utiliza un blog en WordPress 3.3.1 con un tema basado en Twenty Ten. La semana pasada actualicé Apache y PHP en nuestro servidor de producción. Después de esto, el panel de control dejó de funcionar. Cuando un usuario inicia sesión, aparece un panel de control en blanco. El menú con enlaces sigue presente, pero ninguno de los enlaces funciona, por lo que no se pueden crear nuevas entradas, etc. En el código fuente de la página veo el siguiente mensaje:

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

No se realizaron cambios en la configuración de WordPress ni se instalaron nuevos plugins. ¿Cómo puedo solucionar este problema?

1
Comentarios

¿Por qué no actualizarás a la versión estable actual de WordPress con soporte para versiones más recientes de PHP?

bueltge bueltge
23 dic 2013 11:59:12
Todas las respuestas a la pregunta 4
3
84

Existe un error en WordPress 3.3.1 que causa este problema. Puede afectar también a otras versiones.

Para solucionar el problema puedes actualizar WordPress a la versión estable actual y realizar pruebas de integración después. O puedes aplicar una solución rápida al error.

Para corregir el error:

  1. Abre el archivo blog/wp-admin/includes/screen.php en tu editor de texto favorito.
  2. En la línea 706 localiza la siguiente sentencia PHP: <?php echo self::$this->_help_sidebar; ?>
  3. Reemplázala con la sentencia: <?php echo $this->_help_sidebar; ?>
  4. Guarda los cambios.

Espero que te ayude.

23 dic 2013 21:58:40
Comentarios

Gracias, tuve el mismo problema y lo solucioné. ¿Cuál es el error en la línea anterior? Porque inicialmente mi sitio funcionaba perfectamente hasta que vi ese error.

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

@Imran El error es una referencia sintácticamente incorrecta a la propiedad '_help_sidebar' de una instancia de la clase WP_Screen. Parece que los intérpretes de PHP antes de cierta versión son permisivos con esta declaración, pero después de actualizar a una versión más reciente simplemente reportan el error.

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

Sé que los comentarios de 'gracias' no son bien vistos, pero esto tomó segundos en implementar y literalmente salvó mi blog. Este extraño problema ni siquiera parece aparecer en mis registros de errores.

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

La respuesta de Dmitry sobre reemplazar la declaración incorrecta de PHP me parece la mejor:

Reemplazar <?php echo self::$this->_help_sidebar; ?>

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

24 dic 2013 15:10:29
Comentarios

Hacer cambios en los archivos principales nunca es recomendable ya que perderás los cambios al actualizar y también evita comentar en el hilo de respuestas, entiendo que aún no tienes el privilegio de agregar comentarios, pero mantengamos los hilos de respuestas exclusivamente para respuestas

Maruti Mohanty Maruti Mohanty
24 dic 2013 15:50:55

Cierto, pero si esta pantalla blanca de la muerte simplemente te impide actualizar a la versión donde este error ha sido corregido (es decir, la más reciente :) ) entonces esta es la solución más rápida. Tus cambios serán sobrescritos inmediatamente, así que el efecto secundario no deseado simplemente desaparece.

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

Un sitio que no había tocado en 10 años acaba de tener este problema. Gracias, pude solucionarlo fácilmente

beefaroni beefaroni
8 dic 2020 05:02:35
0

Tienes tres opciones

  • Revertir a una versión anterior de PHP - probablemente no te va a gustar
  • Actualizar WordPress - ¿estás ejecutando la 3.3.1? En cualquier caso, ya es hora de actualizar
  • Corregir el error en el núcleo - No es tan malo como suena, ya que el código "screen" controla la pantalla de ayuda y puede que ya no necesites ayuda para operar WordPress.
23 dic 2013 12:47:35
0

Aunque no hayas realizado cambios de configuración ni añadido nuevos plugins en WordPress, la actualización de la versión subyacente de PHP podría estar causando un conflicto con uno de los plugins que ya estabas utilizando con éxito.

Como no puedes acceder al panel de administración para desactivar los plugins, intenta simplemente renombrar tu carpeta /wp-content/plugins a algo como /wp-content/plugins-OLD y luego intenta acceder nuevamente al administrador.

Si logras ingresar exitosamente después de desactivar tus plugins, entonces puedes proceder a reactivarlos uno por uno para identificar cuál podría ser el causante del problema y dejarlo desactivado hasta que actualices el núcleo de WordPress y el propio plugin a las últimas versiones que, con suerte, no presenten estos problemas.

23 dic 2013 20:47:04