Что такое esc_html_e() в WordPress PHP?

12 нояб. 2017 г., 10:52:37
Просмотры: 16.2K
Голосов: 11

Почему разработчики используют

<?php esc_html_e() ?>

на страницах 404, что это означает и как работает?

0
Все ответы на вопрос 1
1
17

Это комбинация функций _e(), которая выводит переводимую строку, и esc_html(), которая предназначена для безопасного вывода текста, чтобы он не интерпретировался как HTML.

Её следует использовать для предотвращения внедрения HTML-кода в переводы, что может нарушить разметку или создать угрозы безопасности.

Например, если в вашей теме используется:

_e( 'My translatable string', 'my-text-domain' );

То возможно, что перевод строки 'My translatable string' будет содержать что-то вроде '<script>alert('Bad!');</script>'. Если вы не используете esc_html_e(), то этот скрипт будет выполнен. При использовании esc_html_e() этого не произойдёт, так как символы < и > будут экранированы как &lt; и &gt;, что приведёт к их отображению как обычного текста, а не как HTML-тегов.

12 нояб. 2017 г. 11:09:44
Комментарии

Всё вышесказанное верно, я бы хотел добавить несколько ссылок для вашего дальнейшего обучения (Google и - самое главное - Кодекс WordPress, кстати, ваши лучшие друзья): Отличная статья о санации данных: https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data А это по другой части темы - переводам (весь Handbook по темам чрезвычайно полезен): https://developer.wordpress.org/themes/functionality/internationalization/

galingong galingong
12 нояб. 2017 г. 11:57:00