Ошибка Warning: Declaration of description_walker::start_el после обновления PHP
Я обновил PHP до версии 7.0, и после этого в заголовке моего сайта появилось следующее сообщение:
Warning: Declaration of description_walker::start_el($output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /homepages/2/d444683358/htdocs/wp-content/themes/zend/functions.php on line 59
Вот строка 59
в файле functions.php:
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
Я не программист, поэтому не уверен, что нужно сделать для исправления этой ошибки?
Спасибо за помощь

Сообщение об ошибке указывает, что класс description_walker
наследует класс Walker_Nav_Menu
и переопределяет метод start_el()
, но сигнатура метода отличается от определения в родительском классе.
Как упоминалось в комментариях, лучше всего связаться с разработчиком вашей темы и запросить исправленную версию.
Если разработчик недоступен или вы действительно хотите исправить тему самостоятельно, можно сделать следующее. Однако учтите, что любые изменения в файлах темы будут перезаписаны при обновлении.
Найдите в файлах темы определение функции start_el()
внутри класса description_walker
. Строка кода должна выглядеть примерно так:
function start_el( $output, $item, $depth, $args ) {
Изменение этой строки на следующую должно устранить предупреждение:
function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {

Значит, это проблема ограничения версии PHP? Эта проблема началась только после переноса сайта с другого хостинга с другой версией PHP... Странно, раньше ошибок не было... Тем не менее, этот ответ решил проблему с предупреждением, так как я владелец темы walker... Спасибо за хороший ответ, насколько это возможно!

@JonasLundman Эта проблема существовала и до PHP7, но в более ранних версиях предупреждения имели уровень ошибки E_STRICT
. Начиная с PHP 7 это обычные предупреждения, поэтому они отображаются при стандартных настройках уровня ошибок.
