Ошибка на WordPress в functions.php


maximka77
89

Здравствуйте. Сегодня повылазили ошибки на сайте Wordpress:

Штук 10 такого содержания:

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

__construct()

. in /var/www/data/www/имясайта/wp-includes/functions.php on line 3902

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

__construct()

. in /var/www/data/www/ имясайта /wp-includes/functions.php on line 3902

Что нужно поменять в файле чтобы нормально все работало? У меня ничего не получается…

Файл functions.php прикрепил.



zip

functions.zip


flacon2000

Это не ошибка, а замечание. На проде лучше отключить вывод ошибок вообще. Ну или ограничьте в том же functions.php 

error_reporting(E_ERROR | E_WARNING);


Selmak

Нотис это не ворнинг, с этим живут. 

Чтоб это править надо быть вкурсе что там за виджет, с чем у него проблемы и почему. Просто названия могут обернутся ответами только от тех, кто с таким сталкивался лично. 


SeVlad

maximka77 :
Файл functions.php прикрепил.

Лучше бы назвал версию ВП и версию php.

А так вангую на сайте  тема или плагин древние.


SeVlad

flacon2000 #:
Это не ошибка, а замечание.

Не устаю повторять — эти «замечания» всё же ошибки php. И игнорировать их не стоит. Как минимум без их анализа.

В моей практике был случай, что если бы не нотис (если бы я забивал как многие советчики советуют), то неизвестно когда была бы выявлена проблема, из-за которой в итоге менеджеры недополучали заказы с сайта.


flacon2000

SeVlad #:

Не устаю повторять — эти «замечания» всё же ошибки php. И игнорировать их не стоит. Как минимум без их анализа.

В моей практике был случай, что если бы не нотис (если бы я забивал как многие советчики советуют), то неизвестно когда была бы выявлена проблема, из-за которой в итоге менеджеры недополучали заказы с сайта.

Возможно на домашней страничке васи пупкина ошибки (а тем более нотисы) на экране это ок.  На более-менее серьезных проектах я бы _советовал_ писать ошибки в файл. По уровню вопроса ТС не стал этого рекомендовать.

Ну и эта, пафоса поменьше, и мир будет добрее 😉


webinfo1

maximka77 :

Файл functions.php прикрепил.

Зачем? Это просто строка, выводящая указанный текст об устаревшем методе. Ничего не даёт, потому что сам метод находится в коде виджета.

maximka77 :

Что нужно поменять в файле чтобы нормально все работало? 

Написано же: 

maximka77 :

Используйте  __construct()

То есть «по старинке»  класс формировался функцией с именем, которое совпадало с именем класса. Но уже давным-давно вместо этого используют функцию  __construct(). По-видимому, виджет очень древний.


SeVlad

flacon2000 #:
Возможно на домашней страничке васи пупкина ошибки (а тем более нотисы) на экране это ок.  На более-менее серьезных проектах я бы _советовал_ писать ошибки в файл. По уровню вопроса ТС не стал этого рекомендовать.

Заметь, я не говорил что они должны быть на морде сайта.  (я за то чтобы они были в админке только для админов  и конечно же в логах)

Так что пафоса поменьше, и мир будет добрее 😉 (с)


flacon2000

SeVlad #:

Заметь, я не говорил что они должны быть на морде сайта.

Так что пафоса поменьше, и мир будет добрее 😉 (с)

Та я вроде без пафоса. Но есть сомнения (опять же по уровню вопроса) что ТС анализировал лог. 


webinfo1

flacon2000 #:

Это не ошибка, а замечание.

Как бы ошибка уровня «замечание». В обозначении E_NOTICE первая буква E (от слова ERROR).


webinfo1

flacon2000 #:

На более-менее серьезных проектах я бы _советовал_ писать ошибки в файл. 

А советуешь вообще не замечать нотисы:

error_reporting(E_ERROR | E_WARNING);

Хотя может быть и не стоит засорять логи, если ничего не можешь с этим поделать. 🙁

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

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