WordPress шорткод преобразования HTML элементов в их сущности

Опубликовано: 13 мая 2018
Раздел(ы): JAVA & PHP, WordPress
Просмотры: 2026
Комментарии: 0

Когда вы на страницах своего блога хотите отобразить 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>

И он будет лишь отображен на экране, а не исполнен.

Благодарности

При написании статьи были использованы следующие источники:

  1. http://www.php.su/htmlspecialchars
  2. https://misha.blog/wordpress/shortcodes.html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

© Юрий Рассадников, 2011 - 2021
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 9 | 0,139 сек. | 10.61 МБ