wp_set_script_module_translations()WP 7.0.0

Задаёт текстовый домен и каталог переводов для зарегистрированного скриптового модуля.

WordPress автоматически загружает переводы модулей из домена default и стандартного каталога языковых файлов. Функция нужна, если модуль использует другой текстовый домен или JSON-файлы переводов находятся в нестандартном каталоге.

Настройки применяются к подключённому модулю и его переводам до выполнения JavaScript.

Скриптовый модуль нужно предварительно зарегистрировать через wp_register_script_module(). Для незарегистрированного модуля функция ничего не изменит и вернёт false.

Используйте wp_set_script_translations(), когда нужно подключить переводы для обычного скрипта, а не модуля.

Работает на основе: WP_Script_Modules::set_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 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 );
}