load_theme_textdomain()
— это функция в WordPress, которая загружает файл перевода для темы, обеспечивая её локализацию и перевод на различные языки. Эта функция помогает разработчикам создавать многоязычные темы, которые могут отображать текст на языке, выбранном пользователем.
load_theme_textdomain( $domain, $path )
- $domain (string): Текстовый домен, который будет использоваться для перевода строк в теме.
- $path (string, необязательный): Путь к каталогу с файлами перевода относительно корневого каталога темы. По умолчанию путь будет
WP_CONTENT_DIR . "/themes/{$domain}/languages"
.
Зачем использовать load_theme_textdomain()
?
- Локализация: Обеспечивает возможность перевода строк в теме на разные языки.
- Удобство: Позволяет легко управлять файлами перевода и загружать их при инициализации темы.
- Интернационализация: Помогает разработчикам создавать темы, пригодные для использования в разных языковых средах.
Пример использования
Наиболее распространенный способ использования load_theme_textdomain()
— вызов функции в файле functions.php
для загрузки файлов перевода из папки languages
в корневом каталоге темы.
function my_theme_setup() {
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );
Создание файлов перевода
Чтобы строки в вашей теме можно было перевести, нужно создать файлы перевода (например, .po
и .mo
файлы) для вашего текстового домена. Эти файлы обычно создаются с помощью специальных инструментов, таких как Poedit.
Шаги для создания файлов перевода
- Создайте PO-файл: Используйте инструмент, такой как Poedit, для создания файла перевода.
- Заполните переводы: Введите переводы для всех строк, использующих текстовый домен вашей темы.
- Сохраните MO-файл: Poedit автоматически сгенерирует MO-файл, который будет использоваться WordPress для перевода.
Заключение
Функция load_theme_textdomain()
является важным инструментом для разработчиков WordPress, обеспечивая возможность локализации и перевода тем. Использование этой функции помогает создать многоязычные темы, которые могут отображать текст на языке пользователя, улучшая удобство и доступность.