Приветствую!

Расскажу небольшую предысторию проблемы. Недавно на «обслуживание сайта» у нас появился новый клиент. База клиентов веб-студии RevolWEB.ru расширилась и все рады. Но, не так всё гладко, как кажется. Наш специалист посмотрев на версию ВордПресс (на столько старая, что мануалы по «дырам» есть даже на русскоязычных форумах) сразу начал её обновлять вместе с плагинами. И тут:

Notice: Вызванный метод конструктора класса WP_Widget считается устаревшим с версии 4.3.0! Используйте __construct()

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

Решение проблемы с ошибкой WP_Widget __construct()

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

php_flag display_errors on
php_value error_reporting E_ALL

Что мы ищем? А ищем мы extends WP_Widget. Где может находится? В одном или нескольких плагинах или темы. Как упростить поиск extends WP_Widget? Воспользуйтесь программой Notepad ++, нажмите «CTR+F» и выберите Найти/Найти в файлах (второе более удобно, ищет в заданной папке, во всех файлах искомое). Можно так же в ручную по FTP или воспользуясь встроенным редактором WordPress. Пример того, чего искали:

class revolweb.ru extends WP_Widget

Найдите в этом классе (конкретно в вашем, по примере выше, это класс revolweb.ru), вызов функции WP_Widget

$this->WP_Widget(
‘widget-‘ . $this->widget_id ,
$this->widget_title,
$widget_ops,
$control_ops
);

Теперь, просто произведем замену $this->WP_Widget  на parent::__construct

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