пр. Мира 620000 Россия +7900-000-00-00
Логотип блога интернет-бродяги

Метод конструктора класса WP_Widget устарел

Метод WP_Widget устарел

Последнее обновлене - 15 января 2023 в 15:21

Пару дней назад, на одном из сайтов, включив режим отладки, я получил вот такое сообщение: «Deprecated: Вызванный метод конструктора класса WP_Widget в zerif_testimonial_widget считается устаревшим с версии 4.3.0! Используйте __construct(). in /var/www/u1234094/data/domen/wp-includes/functions.php on line 4870».

Ошибка в режиме отладки

Режим отладки сайта, работающего на WordPress, включается при помощи редактирования кода в файле wp-config.php, находящегося в корневой директории. Надо заменить строку [php]define(‘WP_DEBUG’, false);[/php] на [php]define(‘WP_DEBUG’, true);[/php]

Я нисколько не удивился тому, что вылезла эта ошибка. Ведь тема на сайте не обновлялась со дня её установки. И это было ещё до выхода версии 4.3.0 WordPress.

Вордпресс подсказывает, что ошибка содержится в файле темы functions.php, с указанием конкретной строки. Всё, что нам нужно сделать, это заменить устаревший вызов конструктора с $this->WP_Widget на parent::__construct.

Я открыл на редактирование файл functions.php и, ориентируясь на вышеуказанную строку — line 4870, обнаружил объявленную функцию, которая выглядела следующим образом:

class zerif_ourfocus extends WP_Widget
{
function zerif_ourfocus()
{
$widget_ops = array('classname' => 'ctUp-ads');
$this->WP_Widget('ctUp-ads-widget', 'Zerif - Our focus widget', $widget_ops);
}}

Чтобы устранить вышеуказанную ошибку, я привёл функцию к следующему виду:

class zerif_ourfocus extends WP_Widget
{
function __construct()
{
$widget_ops = array('classname' => 'ctUp-ads');
parent::__construct('ctUp-ads-widget', 'Zerif - Our focus widget', $widget_ops);
}}

Пробежавшись по файлу functions.php, обнаружил, что класс WP_Widget встречается в нём несколько раз. Вот, например, ещё.

Ещё ошибка

Несколько кликов мышкой, и проблемы нет.

Ошибка исправлена в файле

Теперь, в режиме отладки какие бы то ни было ошибки на сайте отсутствуют.

Друзья, плюсаните, вдруг пригодится!

Почитайте похожие материалы

Об авторе: Hobo

Стараюсь всё делать своими собственными руками: от починки выключателя до создания веб-сайта. В этом блоге делюсь своим опытом и впечатлениями от использования различной техники, электронных и других устройств, которые побывали у меня в руках.

2 Comments

  1. Иван:

    Сегодня валидатор показал: метод конструктора класса WP_Widget устарел. Исправил, спасибо.

    1. Пожалуйста, рад что всё получилось.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *