Как исправить проблему с пустой панелью в WordPress?


42

Сайт из моих целей компании блог на WordPress 3.3.1 с темой на основе Twenty Ten. На прошлой неделе я обновил Apache и PHP на нашем производственном сервере. После этого приборная панель отказалась работать. Когда пользователь входит в систему, появляется пустая панель инструментов. Меню со ссылками все еще присутствует, но ни одна из ссылок не работает, поэтому нельзя создавать новые сообщения и т. Д. В источнике страницы я вижу следующее сообщение:

Неустранимая ошибка : доступ к необъявленному статическому свойству: WP_Screen :: $ this в блоге / wp-admin / includes / screen.php в строке 706

В конфигурацию WordPress не было внесено никаких изменений и не было установлено никаких новых плагинов. Как решить проблему?


3
Почему вы не будете обновляться до текущей стабильной версии WordPress с поддержкой более новых версий php?
Бюлтге

Ответы:


83

В WordPress 3.3.1 есть ошибка, вызывающая проблему. Это может повлиять и на другие версии.

Чтобы решить эту проблему, вы можете обновить WordPress до текущей стабильной версии и выполнить интеграционное тестирование. Или вы можете быстро исправить ошибку.

Чтобы исправить ошибку:

  1. Откройте файл blog / wp-admin / includes / screen.php в вашем любимом текстовом редакторе.
  2. В строке 706 найдите следующий оператор PHP:<?php echo self::$this->_help_sidebar; ?>
  3. Замените его на утверждение: <?php echo $this->_help_sidebar; ?>
  4. Сохраните ваши изменения.

Надеюсь, это поможет вам.


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

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

Я знаю, что комментарии «спасибо» не приветствуются, но это заняло несколько секунд и буквально спасло мой блог. Эта странная проблема даже не появляется в моих журналах ошибок.
1owk3y

1

Ответ Дмитрия о замене неправильного оператора PHP кажется мне лучшим:

замещать <?php echo self::$this->_help_sidebar; ?>

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


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

2
Да, но если этот белый экран смерти просто не позволяет вам перейти на версию, в которой эта ошибка была исправлена ​​(то есть последняя версия :)), то это самое быстрое решение. Ваши изменения будут немедленно перезаписаны, поэтому нежелательный побочный эффект просто исчез.
Аттила Фулоп

0

у вас есть три варианта

  • Понизьте php - вам, вероятно, это не понравится
  • Обновление WordPres - у вас работает 3.3.1? это время обновления в любом случае
  • Исправьте ошибку в ядре - не так плохо, как кажется, так как «экранный» код управляет экраном справки, и вам больше не понадобится помощь в работе с WordPress.

0

Даже если вы не внесли никаких изменений в конфигурацию или не добавили новые плагины в WordPress, обновление базовой версии PHP может вызвать конфликт с одним из плагинов, которые вы уже успешно использовали.

Так как вы не можете получить доступ к панели администратора, чтобы отключить плагины, попробуйте просто переименовать папку / wp-content / plugins в что-то вроде / wp-content / plugins-OLD, а затем снова попробуйте получить доступ к администратору.

Если вы можете успешно войти после отключения ваших плагинов, то вы можете снова включить их 1 на 1, чтобы увидеть, какой из них, возможно, является виновником, и оставить его отключенным, пока вы не обновите ядро ​​WordPress и сам плагин до последних версий. что, надеюсь, не имеют этих проблем.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.