Что такое esc_html__ в файлах шаблона wordpress
Функция esc_html__()
в шаблонах WordPress
esc_html__()
— это важная функция безопасности WordPress для вывода переведённого текста с экранированием HTML-сущностей. Она выполняет две ключевые задачи:
- Перевод строки — аналогично функции
__()
, ищет перевод строки через систему интернационализации WordPress. - Экранирование HTML — использует
esc_html()
, чтобы защитить вывод от потенциально опасного HTML (например, XSS-атак).
Синтаксис
esc_html__( string $text, string $domain );
$text
— текст для перевода и безопасного вывода.$domain
— текстовый домен вашей темы или плагина.
Пример использования
<h1><?php echo esc_html__( 'Welcome to my website', 'my-theme' ); ?></h1>
В данном примере:
- Текст
'Welcome to my website'
будет переведён, если доступен перевод для выбранного языка. - Полученный перевод будет безопасно экранирован, чтобы исключить внедрение нежелательных HTML-элементов.
Когда использовать
Применяйте esc_html__()
всегда при выводе обычных текстовых строк в HTML, которые не должны содержать HTML-разметку. Это гарантирует безопасность и предотвращает XSS-атаки.
Аналоги функции
__()
— только перевод без экранирования.esc_html_e()
— перевод с экранированием и немедленным выводом.esc_attr__()
— для использования в HTML-атрибутах, экранирует как атрибут._e()
— перевод строки и её немедленный вывод (без экранирования).
Кратко: esc_html__()
= безопасный перевод строки для использования в HTML.