Функция _e()
является важным инструментом для разработчиков WordPress, стремящихся сделать свои темы и плагины доступными для многоязычной аудитории. В этой статье мы рассмотрим, что такое функция _e()
, как она работает и как её правильно использовать с примерами.
Что такое функция _e()
в WordPress?
Функция _e()
используется для интернационализации (i18n) и локализации (l10n) в WordPress, подобно функции __()
. Однако, в отличие от __()
, которая возвращает переведённую строку, функция _e()
сразу выводит переведённую строку на экран. Это делает её удобной для использования в ситуациях, когда необходимо быстро отобразить текст на странице.
Синтаксис функции _e()
_e( $text, $domain );
$text
(обязательно): Строка текста, которую нужно перевести и вывести.$domain
(необязательно): Текстовый домен. Используется для группировки связанных строк перевода. Если не указан, используется текстовый домен по умолчанию.
Примеры использования функции _e()
Рассмотрим несколько примеров использования функции _e()
в реальных сценариях.
Базовое использование
_e( 'Hello, World!', 'my-text-domain' );
В этом примере строка 'Hello, World!'
будет переведена и выведена на экран на языке, установленном в WordPress, если для неё существует перевод в указанном текстовом домене 'my-text-domain'
.
Перевод с HTML
Функция _e()
также может использоваться для вывода строк, содержащих HTML-теги.
<p><?php _e( 'Click <a href="https://example.com">here</a> to visit our site.', 'my-text-domain' ); ?></p>
В этом примере строка с HTML-тегами будет переведена и выведена на экран.
Локализация вашей темы или плагина
Для того чтобы строки перевода работали, необходимо создать файлы переводов (.po
и .mo
). Рассмотрим шаги для локализации вашей темы или плагина:
- Создайте файл шаблона переводов (
.pot
):Используйте инструмент, например, Poedit или WP-CLI, чтобы сгенерировать файл шаблона переводов из вашего кода.
wp i18n make-pot . languages/my-plugin.pot --exclude=tests
- Создайте файлы перевода (
.po
и.mo
):
Откройте .pot
файл в Poedit, переведите строки и сохраните их как .po
и .mo
файлы.
- Загрузите переводы:
Используйте функцию load_textdomain()
в вашем плагине или функции load_theme_textdomain()
в вашей теме, чтобы загрузить переводы.
function my_plugin_load_textdomain() {
load_plugin_textdomain( 'my-text-domain', false, basename( dirname( __FILE__ ) ) . '/languages' );
}
add_action( 'plugins_loaded', 'my_plugin_load_textdomain' );
Заключение
Функция _e()
в WordPress является важным инструментом для вывода переведённых строк текста, что делает ваш контент доступным для глобальной аудитории. Правильное использование функции _e()
в сочетании с хорошей практикой создания файлов переводов поможет вам эффективно локализовать ваши темы и плагины.