Как в WordPress использовать локализацию в javascript?
Начинающие разработчики под WordPress часто сталкиваются с проблемой локализации js-скриптов. Если встроить локализацию в сам php-плагин очень просто (достаточно добавить текстдомейн ко всем текстовым переменным), то с js-скриптами такой номер не пройдет. Для локализации js-скриптов в WordPress есть специальная функция wp_localize_script, которую должны использовать все разработчики плагинов и тем. Использование этой функции на примере я и хочу вам показать.
//регистрация и подключение локализируемого скрипта start function wph_enqueue_scripts() { $purl = plugins_url(); wp_register_script('testscript', $purl . '/testplugin/script.js'); wp_enqueue_script('testscript'); $lang_array = array('name1' => __('Test1', 'textdomain'), 'name2' => __('Test2', 'textdomain')); wp_localize_script('testscript', 'test_object', $lang_array); } add_action('wp_enqueue_scripts', 'wph_enqueue_scripts'); //регистрация и подключение локализируемого скрипта end |
Тут все просто - регистрируем скрипт script.js в папке плагина testplugin под именем testscript, подключаем его в теме, затем локализируем его, указав локализируемые переменные для test_object (название объекта не имеет значения).
И это все. Теперь в своем скрипте вы можете использовать переменные объекта test_object, которые будут автоматически локализированы вместе с остальным текстом плагина. Для проверки можете вставить в footer.php темы код:
<script> alert(test_object.name1); alert(test_object.name2); </script> |
Локализация js-скриптов это вещь очень и очень простая, как вы видите.