Как исправить проблему пустой панели управления в WordPress?
Сайт моей компании использует блог на WordPress 3.3.1 с темой на основе Twenty Ten. На прошлой неделе я обновил Apache и PHP на нашем продакшн-сервере. После этого панель управления перестала работать. Когда пользователь входит в систему, появляется пустая панель управления. Меню со ссылками все еще присутствует, но ни одна из ссылок не работает, поэтому невозможно создавать новые записи и т.д. В исходном коде страницы я вижу следующее сообщение:
Fatal error: Access to undeclared static property: WP_Screen::$this in blog/wp-admin/includes/screen.php on line 706
Никаких изменений в конфигурации WordPress не производилось и новые плагины не устанавливались. Как исправить эту проблему?

В WordPress 3.3.1 присутствует баг, вызывающий эту проблему. Он также может затрагивать и другие версии.
Для решения проблемы вы можете обновить WordPress до текущей стабильной версии и затем провести интеграционное тестирование. Или же выполнить быстрое исправление бага.
Чтобы исправить баг:
- Откройте файл blog/wp-admin/includes/screen.php в вашем любимом текстовом редакторе.
- На строке 706 найдите следующее PHP выражение:
<?php echo self::$this->_help_sidebar; ?>
- Замените его на:
<?php echo $this->_help_sidebar; ?>
- Сохраните изменения.
Надеюсь, это поможет вам.

Спасибо, у меня была такая же проблема, и я ее исправил. В чем именно ошибка в указанной строке? Потому что изначально мой сайт работал идеально, пока я не столкнулся с этой ошибкой.

@Imran Ошибка заключается в синтаксически неверной ссылке на свойство '_help_sidebar' экземпляра класса WP_Screen. Похоже, что интерпретаторы PHP до определенной версии были снисходительны к такому выражению, но после обновления на более новую версию просто выдают ошибку.

Изменение основных файлов никогда не рекомендуется, так как вы потеряете изменения при обновлениях, а также воздержитесь от комментариев в ветке ответов. Я понимаю, что у вас пока нет привилегий для добавления комментариев, но давайте оставим ветки ответов исключительно для ответов.

Это верно, но если этот "белый экран смерти" просто мешает вам обновиться до версии, где исправлен этот баг (т.е. до последней версии :)), то это самое быстрое решение. Ваши изменения будут немедленно перезаписаны, поэтому нежелательный побочный эффект просто исчезнет.

у вас есть три варианта
- Понизить версию PHP - вам, скорее всего, это не понравится
- Обновить WordPress - у вас версия 3.3.1? в любом случае пора обновляться
- Исправить ошибку в ядре - Не так страшно, как звучит, поскольку код "screen" управляет экраном справки, и вам, возможно, больше не понадобится помощь в работе с WordPress.

Даже если вы не вносили изменений в конфигурацию или не добавляли новые плагины в WordPress, обновление версии PHP может вызвать конфликт с одним из уже используемых плагинов, который ранее работал нормально.
Если вы не можете получить доступ к административной панели для отключения плагинов, попробуйте просто переименовать папку /wp-content/plugins в, например, /wp-content/plugins-OLD, а затем снова попытаться зайти в админку.
Если после отключения плагинов вам удастся успешно войти, то вы можете поочередно включать их по одному, чтобы определить проблемный плагин, и оставить его отключенным до тех пор, пока не обновите ядро WordPress и сам плагин до последних версий, где, надеюсь, этих проблем не будет.
