Я просто обновился до 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)) {