После обновления WordPress до 5.7 у многих стала появляться ошибка:
Функция
WP_Scripts:localize
вызвана неправильно. Параметр$l10n
должен быть массивом. Для передачи произвольных данных в скрипты используйте функциюwp_add_inline_script ()
.
Что это за ошибка
Во-первых, важно понимать, что это не ошибка, а Notice — простое предупреждение, что что-то работает не так, но ничего фатального и критичного в этом нет. Обычно эта информация используется исключительно разработчиками для отладки.
Во-вторых, это сообщение появилось в версии 5.7 и отображается только в том случае, если у вас включён режим отладки: в wp-config.php
у вас указано define ('WP_DEBUG', true)
.
В-третьих, ошибку скорее всего вызывает какой-то плагин или тема, которые ещё не обновились до полной поддержки версии 5.7.
Как убрать ошибку
Способов устранения ошибки несколько:
- Отключить плагины или темы, которые вызывают ошибку. Не самый подходящий способ решения проблемы, поэтому двигаемся дальше 🙂
- Отключить режим отладки
Для этого в файлеwp-config.php
нужно указатьdefine ('WP_DEBUG', false);
. - Если режим отладки всё же необходим, можно отключить только подобные сообщения об ошибках, а остальные полезные штуки отладки оставить. Сделать это можно так:
add_filter( 'doing_it_wrong_trigger_error', function () { return false; }, 10, 0 );