Ошибка «WP_Scripts::localize был вызван неправильно» в WordPress

8 апреля 2021

После обновления WordPress до 5.7 у многих стала появляться ошибка:

Функция WP_Scripts:localize вызвана неправильно. Параметр $l10n должен быть массивом. Для передачи произвольных данных в скрипты используйте функцию wp_add_inline_script ().

Что это за ошибка

Во-первых, важно понимать, что это не ошибка, а Notice — простое предупреждение, что что-то работает не так, но ничего фатального и критичного в этом нет. Обычно эта информация используется исключительно разработчиками для отладки.

Во-вторых, это сообщение появилось в версии 5.7 и отображается только в том случае, если у вас включён режим отладки: в wp-config.php у вас указано define ('WP_DEBUG', true).

В-третьих, ошибку скорее всего вызывает какой-то плагин или тема, которые ещё не обновились до полной поддержки версии 5.7.

Как убрать ошибку

Способов устранения ошибки несколько:

  1. Отключить плагины или темы, которые вызывают ошибку. Не самый подходящий способ решения проблемы, поэтому двигаемся дальше 🙂
  2. Отключить режим отладки
    Для этого в файле wp-config.php нужно указать define ('WP_DEBUG', false);.
  3. Если режим отладки всё же необходим, можно отключить только подобные сообщения об ошибках, а остальные полезные штуки отладки оставить. Сделать это можно так:
add_filter( 'doing_it_wrong_trigger_error', function () { return false; }, 10, 0 );
Добавить комментарий