Хостинг со скидкой 20%. Размещение в РФ. Собственный Дата-Центр.

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

 13 мая 2018      
 JAVA & PHP / WordPress      
 Комментариев еще нет      
 63

Когда вы на страницах своего блога хотите отобразить HTML-код, например текст шаблона сайта или PHP скрипт, то вам необходимо преобразовать специальные символы в их сущности (коды символов). Это необходимо для того, чтобы текст со спецсимволами не воспринимался браузером как HTML-теги, функции PHP и т.п., то есть чтобы код не исполнялся, а отображался на экране.

Раньше для этих целей отлично подходил HTML тег <xmp>. Который сообщал браузеру, что содержимое внутри нужно отобразить «как есть» и шрифтом фиксированной ширины.

Все браузеры его успешно поддерживают, но официально он не разрешен для использования в HTML спецификации. То есть вы можете использовать его на свой страх и риск. У пользователей, скорее всего всё будет прекрасно работать, но валидацию ваш сайт не пройдет.

Чем заменить тег XMP

В WordPress самый простой способ — это использовать PHP функции преобразования спецсимволов в HTML сущности и вставлять шорткоды в необходимых местах.

Шорткоды — это функции PHP, которые можно задействовать внутри содержимого поста, используя условные обозначения. Например стандартный вордпрессовский шорткод [gallery] позволяет вывести галерею внутри поста.

Подробнее о функциях преобразования тегов в 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');

Как использовать шорткод

Для того, чтобы преобразовать спецсимволы в сущности используйте следующий код:

[code]Символы которые необходимо преобразовать в HTML сущности[/code]

Пример использования

Допустим вы хотите отобразить HTML код ссылки у себя в статье, то есть не опубликовать ссылку, чтобы посетитель по ней кликнул, а вывести на экран набор символов как бы он выглядел в текстовом редакторе:

<a href="https://moonback.ru/">https://moonback.ru/</a>

Тогда используйте шорткод:

[code]<a href="https://moonback.ru/">https://moonback.ru/</a>[/code]

При этом в браузере будет следующий набор символов:

&lt;a href=&quot;https://moonback.ru/&quot;&gt;https://moonback.ru/&lt;/a&gt;

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

Рекомендую прочесть:  Асинхронная загрузка JavaScript в WordPress

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

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

  1. http://www.php.su/htmlspecialchars
  2. https://misha.blog/wordpress/shortcodes.html
Поделись этой страницей с друзьями!

Прочтите это обязательно

Свежие скидки на хостинг Adman.com для читателей блога

Коллеги, как вы знаете, я участник многих партнерских программ отечественных и зарубежных хостинговых компаний ...

Вебмастеру adman vds vps купоны распродажа скидки хостинг Далее

Как запустить Unixbench на Debian 9

Четыре года назад я уже рассказывал о популярной утилите тестирования производительности серверов под управлен ...

GNU Linux - CentOS / Debian debian unixbench Далее

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

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

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

2018 © Технический блог
SQL - 95 | 0,188 сек. | 8.32 МБ
доступность сайта