wp_set_script_module_translations()
Задаёт текстовый домен и каталог переводов для зарегистрированного скриптового модуля.
WordPress автоматически загружает переводы модулей из домена default и стандартного каталога языковых файлов. Функция нужна, если модуль использует другой текстовый домен или JSON-файлы переводов находятся в нестандартном каталоге.
Настройки применяются к подключённому модулю и его переводам до выполнения JavaScript.
Скриптовый модуль нужно предварительно зарегистрировать через wp_register_script_module(). Для незарегистрированного модуля функция ничего не изменит и вернёт false.
Используйте wp_set_script_translations(), когда нужно подключить переводы для обычного скрипта, а не модуля.
Хуков нет.
Возвращает
bool.
true- настройки переводов сохранены.false- модуль с указанным ID не зарегистрирован.
Использование
wp_set_script_module_translations( $id, $domain, $path ): bool;
- $id(строка) (обязательный)
- ID зарегистрированного скриптового модуля.
- $domain(строка)
- Текстовый домен. Должен совпадать с доменом, указанным в функциях перевода внутри JavaScript.
По умолчанию:'default' - $path(строка)
Полный системный путь к каталогу с JSON-файлами переводов. Это должен быть путь к файлам на сервере, а не URL.
При пустом значении WordPress использует стандартный каталог, зарегистрированный для текстового домена.
По умолчанию:''
Примеры
#1 Подключение переводов модуля плагина
Регистрирует модуль, задаёт его текстовый домен и каталог languages, затем добавляет модуль в очередь.
add_action( 'wp_enqueue_scripts', 'my_plugin_enqueue_script_module' );
function my_plugin_enqueue_script_module() {
$module_id = 'my-plugin-frontend';
wp_register_script_module(
$module_id,
plugins_url( 'build/frontend.js', __FILE__ ),
[],
'1.0.0'
);
wp_set_script_module_translations(
$module_id,
'my-plugin',
plugin_dir_path( __FILE__ ) . 'languages'
);
wp_enqueue_script_module( $module_id );
}Заметки
| Смотрите: WP_Script_Modules::set_translations() |
Список изменений
| С версии 7.0.0 | Введена. |
Код wp_set_script_module_translations() wp set script module translations WP 7.1
function wp_set_script_module_translations( string $id, string $domain = 'default', string $path = '' ): bool {
return wp_script_modules()->set_translations( $id, $domain, $path );
}