Flector

Как в 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-скриптов это вещь очень и очень простая, как вы видите.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!