WordPress шорткод преобразования HTML элементов в их сущности
Когда вы на страницах своего блога хотите отобразить HTML-код, например текст шаблона сайта или PHP скрипт, то вам необходимо преобразовать специальные символы в их сущности (коды символов). Это необходимо для того, чтобы текст со спецсимволами не воспринимался браузером как HTML-теги, функции PHP и т.п., то есть чтобы код не исполнялся, а отображался на экране.
Раньше для этих целей отлично подходил HTML тег <xmp>
. Который сообщал браузеру, что содержимое внутри нужно отобразить «как есть» и шрифтом фиксированной ширины.
Все браузеры его успешно поддерживают, но официально он не разрешен для использования в HTML спецификации. То есть вы можете использовать его на свой страх и риск. У пользователей, скорее всего всё будет прекрасно работать, но валидацию ваш сайт не пройдет.
Чем заменить тег XMP
В WordPress самый простой способ — это использовать PHP функции преобразования спецсимволов в HTML сущности и вставлять шорткоды в необходимых местах.
Шорткоды — это функции PHP, которые можно задействовать внутри содержимого поста, используя условные обозначения. Например стандартный вордпрессовский шорткод
позволяет вывести галерею внутри поста.
Подробнее о функциях преобразования тегов в HTML сущности читайте здесь: https://moonback.ru/page/preobrazovanie-tegov-v-html-sushhnosti
Шорткод для преобразования спецсимволов в их сущности
Так как в WordPress нет готового шорткода для преобразования спецсимволов в их HTML сущности, то мы создадим его сами. Для этого добавьте нижеследующий код в файл functions.php вашей темы WordPress:
/* Шорткод для преобразования в сущности */ function mb_html_code_shortcode ($atts , $content = null ) { return htmlspecialchars( $content, ENT_QUOTES); } add_shortcode ('code', 'mb_html_code_shortcode');
Как использовать шорткод
Для того, чтобы преобразовать спецсимволы в сущности используйте следующий код:
Символы которые необходимо преобразовать в HTML сущности
Пример использования
Допустим вы хотите отобразить HTML код ссылки у себя в статье, то есть не опубликовать ссылку, чтобы посетитель по ней кликнул, а вывести на экран набор символов как бы он выглядел в текстовом редакторе:
<a href="https://moonback.ru/">https://moonback.ru/</a>
Тогда используйте шорткод:
<a href="https://moonback.ru/">https://moonback.ru/</a>
При этом в браузере будет следующий набор символов:
<a href="https://moonback.ru/">https://moonback.ru/</a>
И он будет лишь отображен на экране, а не исполнен.
Благодарности
При написании статьи были использованы следующие источники: