Обновление Wp до 4.3: Ошибка WP_Widget __construct()
Обновился до версии 4.3 и теперь у меня на сайте какая-то неразбериха типо:
Notice: Вызванный метод конструктора класса WP_Widget считается устаревшим с версии 4.3.0! Используйте __construct()
Пожалуйста, помогите разобраться!
P.S. Крик души...
У вас либо в плагинах, либо еще где-то (functions.php) неправильно вызывается функция основного класса WP_Widget - __construct(). С WP 4.3 в классе расширяющий WP_Widget основной класс нужно вызывать так:
parent::__construct()
а не$this->WP_Widget
Эта может быть проблема плагина и её должен устранить разработчик. В этом случае, просто отключите
WP_DEBUG
вwp-config.php
.Устранении заметки:
extends WP_Widget
может выглядеть как-то так:и замените его на
В описании функции register_widget() вы можете посмотреть как нужно регистрировать виджет. Там есть коды правильные...
Тоже такая проблема возникла, десяток одинаковых ошибок. Причем в указанном файле на указанной строке __construct() уже используется - казалось бы его там нужно заменить. Поэтому присоединяюсь к вопросу.
Действительно, проблема в плагинах, которые не совместимы с этой версией Вордпресса.
Вывод, зря обновился... (((
Неправильный вывод... Обновляться надо, поправят... И это не критично!
Лучше подождать. У меня после обновления сети сайтов wp в упор перестал находить single.php и грузить вместо него index.php
Откат на прежнюю версию решил проблему
обновил тему и всё стало нормалёк
"Kama" Во-первых спасибо за созданную тему - она актуальна на мой взгляд. В общем я нашёл те строки на своём сайте (в файле - "widget_post.php" в папке - "inc"), о которых ты писал вначале (parent::__construct() а не $this->WP_Widget) и, соответственно, заменил эту строчку на parent::__construct(). Замечание - "Notice:" пропало сразу, однако теперь не могу удалять и редактировать виджеты вообще, как раньше делал я это с лёгкостью в админке. В чём может быть теперь шляпа ? Версия движка WP у меня 4.4.2
Спасибо "Kama"