unload_textdomain()
Выгружает (удаляет, отменяет) подключенный файл перевода.
Файлы перевода подключаются функцией load_textdomain() и производными от нее: load_plugin_textdomain(), load_theme_textdomain().
unload_textdomain() не удаляет сам файл, а просто выгружает информацию для перевода из глобальной переменной $l10n.
Хуки из функции
Возвращает
true|false
. Логические: true или false.
Использование
unload_textdomain( $domain );
- $domain(строка) (обязательный)
- Ярлык (идентификатор) загруженного файла перевода, который нужно выгрузить. Этот ярлык указывается в первом параметре при подключении файла, в функциях load_textdomain() и производных от нее.
- $reloadable(true/false) (WP 6.1)
- Можно ли снова загрузить файл перевода.
По умолчанию: false
Примеры
#1 Отменим перевод плагина
Допустим, у нас есть плагин и в нем подключается файл перевода с помощью load_plugin_textdomain('books' ...). А нам не нужен перевод этого плагина. Тогда мы можем отключить перевод, выгрузив подключенные данные перевода.
Файлы перевода обычно подключаются к хуку plugins_loaded который срабатывает раньше чем init. Поэтому воспользуемся хуком init, чтобы отключить ранее подключенные данные для перевода:
add_action('init', 'my_unload_textdomain'); function my_unload_textdomain(){ unload_textdomain('books'); }
#2 Отменим перевод WordPress
Допустим нам не нужно переводить админку сайта, мы и так там все знаем и не хотим лишний раз нагружать сервер. Но вот перевод плагинов нам нужен, поэтому мы не можем просто поставить английский язык в настройках, ведь тогда и плагины будут на англ.
Выход тут такой, отключить перевод WordPress в коде. Для этого добавим такой код в файл темы functions.php:
add_action('init', 'my_unload_textdomain'); function my_unload_textdomain(){ // default - ярлык перевода WP // twentyfifteen - ярлык перевода темы WP unload_textdomain('default'); }
Заметки
- Global. MO[]. $l10n An array of all currently loaded text domains.
- Global. MO[]. $l10n_unloaded An array of all text domains that have been unloaded again.
Список изменений
С версии 3.0.0 | Введена. |
С версии 6.1.0 | Added the $reloadable parameter. |