Функция get_available_languages()
в WordPress предназначена для получения списка всех доступных языков на основе наличия файлов перевода с расширениями .mo
и .l10n.php
в указанной директории. Эта функция полезна для работы с многоязычными сайтами и позволяет разработчикам узнать, какие языки доступны для использования.
get_available_languages( string $dir = null ): string[]
Параметры
- $dir (string, необязательный): Директория для поиска языковых файлов. По умолчанию используется константа
WP_LANG_DIR
, которая указывает на директорию языковых файлов WordPress (обычно этоwp-content/languages/
). Если параметр не указан, функция будет искать языковые файлы в этой директории.
Возвращаемое значение
- string[]: Возвращает массив кодов языков, которые соответствуют названиям файлов, или пустой массив, если языковые файлы не найдены. Коды языков формируются путем удаления расширения из имен файлов.
Пример 1: Получение доступных языков по умолчанию
В этом примере мы просто вызовем функцию без параметров, чтобы получить все доступные языки из директории WP_LANG_DIR
:
$languages = get_available_languages();
if (!empty($languages)) {
echo 'Доступные языки: ' . implode(', ', $languages);
} else {
echo 'Нет доступных языков.';
}
Этот код выведет список доступных языков, если они есть, или сообщение о том, что доступных языков нет.
Пример 2: Получение языков из конкретной директории
Если вы хотите получить языки из другой директории, вы можете указать путь к ней в качестве параметра:
$custom_dir = '/path/to/your/languages/directory/';
$languages = get_available_languages($custom_dir);
if (!empty($languages)) {
echo 'Доступные языки в директории: ' . implode(', ', $languages);
} else {
echo 'Нет доступных языков в указанной директории.';
}
Этот пример ищет языковые файлы в указанной директории и выводит доступные языки.
Пример 3: Использование с кастомным языковым файлом
Предположим, у вас есть кастомный языковый файл, который вы добавили в директорию wp-content/languages/plugins/
. Вы можете получить доступные языки, используя следующее:
$plugin_languages = get_available_languages(WP_LANG_DIR . '/plugins/');
if (!empty($plugin_languages)) {
echo 'Доступные языки для плагинов: ' . implode(', ', $plugin_languages);
} else {
echo 'Нет доступных языков для плагинов.';
}
Пример 4: Проверка наличия конкретного языка
Вы также можете использовать полученный массив языков для проверки наличия конкретного языка:
$desired_language = 'ru_RU'; // Укажите язык, который хотите проверить
$languages = get_available_languages();
if (in_array($desired_language, $languages)) {
echo "Язык $desired_language доступен.";
} else {
echo "Язык $desired_language недоступен.";
}
Этот код проверяет, доступен ли указанный язык, и выводит соответствующее сообщение.
Заключение
Функция get_available_languages()
в WordPress предоставляет простой способ получить список всех доступных языков на основе файлов перевода, находящихся в указанной директории. Это позволяет разработчикам легко интегрировать многоязычность в свои плагины и темы, а также адаптировать их под разные языковые настройки. Используйте приведенные примеры, чтобы легко работать с языками на вашем сайте WordPress.