Что делает l10n.js в WordPress 3.1? И как его удалить?

Я только что установил WP 3.1 Beta 2 на свой тестовый сервер. Я заметил, что он поставляется с новым l10n.js файлом, который автоматически l10n.js в заголовок.

Я немного поработал, и это связано с локализацией. Я предполагаю, что многие люди не используют это, поэтому мне интересно, как я могу его удалить?

Если важно не удалять его, сообщите мне об этом.

Solutions Collecting From Web of "Что делает l10n.js в WordPress 3.1? И как его удалить?"

Он содержит convertEntities() которая (как сказано в названии) преобразует объекты HTML в их фактическое значение. Он в основном используется для скриптов, отправляющих данные локализации с PHP на сторону JS, используя wp_localize_script() . Просто найдите l10n_print_after в базе кода, и вы увидите это много.

Данные, которые вы добавляете в wp_localize_script() , добавляются до того, как скрипт переводится (это должно быть, потому что там указано). Однако, если вы используете конкатенатор сценария (так что у вас есть только один запрос, который возвращает все используемые JS-файлы), этот один файл также будет вызываться после всех локализованных данных, но теперь convertEntities() не определяется, когда нам это нужно. По этой причине эта функция utils.js от общего файла utils.js и добавляется с высоким приоритетом вверху.

По этой причине вы не должны его удалять: все скрипты, которые используют переводимые строки, используют его (даже если они все еще находятся на английском языке), и вы можете сломать места, где все еще есть сущности.

 if ( !is_admin() ) { function my_init_method() { wp_deregister_script( 'l10n' ); } add_action('init', 'my_init_method'); } 

используйте код выше, чтобы отменить регистрацию l10n.js в функции.php

Похоже, он включен, когда вы вставляете скрипт «комментарий-ответ». Обратите внимание, что вы, вероятно, хотите удостовериться, что «комментарий-ответ» загружен только на страницах, могут включать комментарии (например, check is_singular() перед запуском скрипта).

Я нашел на моей установке, что этот скрипт был загружен вместе с новой панелью администратора, избавляясь от панели администрирования, которая избавилась от l10n.js для меня (но я думаю, что ответ Яна больше связан с ответом на «почему»).

Снять панель было легко ..

 remove_action( 'init', 'wp_admin_bar_init' ); 

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

Как удалить его:

 function kill_l10n () {
     if (! is_admin ())
         wp_deregister_script ('l10n');
 }
 add_action ('wp_print_scripts', 'kill_l10n');

Drop in functions.php или что угодно (плагин и т. Д.)

Работает на меня.

Чтобы удалить его, добавьте следующее в файл functions.php вашей темы.

wp_deregister_script ( 'l10n');

Разработчик источника для файла имеет следующее описание:

// Используется для обеспечения правильности привязки объектов, используемых в строках L10N

и зафиксировать примечание:

Переместите вспомогательную функцию l10n в отдельный файл js, чтобы мы могли всегда выводить его в первую очередь.

Я не играл с 3.1, но не уверен, что может заставить его загрузиться на каждой странице.

Да, он автоматически попадает в тему wp_head … Я удаляю ее, помещая код ниже в функции functions.php темы

remove_action( 'wp_head', 'l10n' );