Описание gettext
— Filter
Хук gettext позволяет изменять текстовые строки, используемые в WordPress и плагинах. Он срабатывает при загрузке текстовых строк и позволяет переводить или изменять их перед выводом на экран
Примеры использования
Пример изменения строки ‘Hello World’ на ‘Привет, мир’:
add_filter('gettext', function($translated_text, $text, $domain) {
if ($text === 'Hello World') {
return 'Привет, мир';
}
return $translated_text;
}, 10, 3);
В этом примере мы заменяем строку ‘Hello World’ на ‘Привет, мир’.
Пример изменения строки с использованием текстовой области:
add_filter('gettext', function($translated_text, $text, $domain) {
if ($domain === 'my-plugin' && $text === 'Goodbye') {
return 'До свидания';
}
return $translated_text;
}, 10, 3);
Здесь мы меняем текст ‘Goodbye’ на ‘До свидания’ только для плагина с текстовой областью ‘my-plugin’.
Пример изменения нескольких строк:
add_filter('gettext', function($translated_text, $text, $domain) {
$translations = array(
'Yes' => 'Да',
'No' => 'Нет'
);
if (array_key_exists($text, $translations)) {
return $translations[$text];
}
return $translated_text;
}, 10, 3);
В этом примере мы создаем массив для замены нескольких строк ‘Yes’ и ‘No’ на ‘Да’ и ‘Нет’.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить выводимые текстовые строки в WordPress или плагинах
– Производительность
Изменения выполняются на уровне фильтрации текста и обычно не влияют на производительность
– Предупреждения
Будьте внимательны при изменении строк, чтобы не нарушить функциональность плагинов или тем
Альтернативы
Тип: filter
Этот хук аналогичен gettext, но используется для обработки строк с множественным числом
Используйте его, когда нужно изменять строки, зависящие от количества