Метод вызываемого конструктора для WP_Widget устарел с версии 4.3.0

Я просто обновился до WordPress 4.3, и кажется, что что-то сломано.

Я получаю эту ошибку, которая появляется на моей странице:

Примечание. Метод вызываемого конструктора для WP_Widget устарел с версии 4.3.0! Вместо этого используйте __construct() . in /mnt/stor13-wc1-ord1/754452/www.eden-festival.com/web/content/securewp/wp-includes/functions.php on line 3457

Есть ли что-то, что нужно исправить?

Поскольку php 7 больше не поддерживает старую конструкцию объекта php 4 и заменяется на __construct() разработчики WordPress создали сообщение уведомления, поэтому разработчики плагинов будут изменять способ работы своих плагинов, чтобы он мог работать в следующих версиях PHP, а так как php 4 давно мертв, нет оснований использовать этот стиль конструкции объекта.

Как исправить?

Вариант 1 – не переходить на новые версии php

просто добавьте add_filter('deprecated_constructor_trigger_error', '__return_false');

в файл functions.php он будет игнорировать эти уведомления.

Вариант 2 – может обновиться до php 7 / предпочесть работать с проблемой, а затем отключить ее

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

Найдите проблемный плагин и измените

parent::WP_Widget

к

parent::__construct

Я предполагаю, что вы используете какой-то плагин, который не обновляется после обновлений WordPress и имеет некоторый код вроде class ***_Widget extends WP_Widget { должен обновлять этот плагин или деактивировать его до тех пор, пока он не будет обновлен.

Объявление функции, вызывающей родительский конструктор, разрешило эту проблему для меня.

 class myClass extends WP_Widget { function __construct(){ parent::__construct(...) // calls constructor from WP_Widget class } } 

Я столкнулся с этой проблемой, и я обнаружил, изменив выражение «true» на «false» в /wp-includes/functions.php, что он отключил ошибки.

if (WP_DEBUG && apply_filters ('deprecated_constructor_trigger_error', true)) {