Итак, как именно это работает: мы передаем в функцию параметры, которые могут быть взяты из базы данных, либо являться результатом выполнения других функций, после этого функция выводит все эти параметры в виде JSON-объекта непосредственно перед подключением нужного нам js-файла.
wp_localize_script( $handle, $object_name, $l10n )
- $handle
- (строка) идентификатор файла JavaScript
- $object_name
- (строка) название JSON-объекта, который в результате будет содержать значения параметров
- $l10n
- (массив) ассоциативный массив вида параметр=>значение, может быть многоуровневым
Пример локализации
Обратите внимание, что wp_localize_script()
должна быть вызвана только после того, как скрипт будет зарегистрирован или поставлен в очередь на вывод.
function true_localize_example(){ wp_enqueue_script( 'truescript', get_stylesheet_directory_uri() . '/truescript.js' ); wp_localize_script( 'truescript', 'true_object', array( 'param_1' => __( 'Options saved.' )) ); } add_action('wp_enqueue_scripts', 'true_localize_example');
В итоге, непосредственно перед вставкой файла truescript.js
, функция добавит следующий код:
<script type='text/javascript'> /* <![CDATA[ */ var true_object = {"param_1":"Настройки сохранены."}; /* ]]> */ </script>
Теперь вы можете обратиться к значению в объекте прямо из truescript.js
следующим образом:
alert( true_object.param_1 );