Эта проблема для меня имеет особую актуальность. Блоки кода я вставляю практически во все посты.
В принципе, вставить код не сложно. Обычно я размещаю его внутри тегов <pre>
с атрибутом lang
(это необходимо для работы плагина Dean's Code Highlighter, который занимается подсветкой).
Основная проблема заключается в том, что вы должны вручную заменить символы <
и >
на <
и >
. Иначе возникает неоднозначность.
Например, вы пишите привет
. WordPress считает, что вы хотите выделить слово «привет» жирным шрифтом и отправляет страницу браузеру именно в таком виде. Но что если вы хотели показать пример html разметки?
В этом случае нужно заменить спецсимволы html на их эскейп последовательности.
Естественно, возиться вручную не стоит 🙂 , лучше использовать текстовый редактор вроде Notepad++.
Но при этом остаются нерешенными ещё несколько проблем.
Во-первых, редактор WordPress часто сам выполняет корректировку текста. Например, вставляет смайлики вместо заданных последовательностей символов. В блоках кода эту функцию очень желательно отключить.
Во-вторых, блоки кода часто вставляют в комментарии. Только их авторы изменить текст после отправки не могут, и мне неоднократно приходилось исправлять теги самому.
Довольно долго я мирился с этой ситуацией, но на днях случайно натолкнулся на плагин Code Autoescape.
Как следует из названия, он ищет блоки кода и заменяет в них символы <
, >
и &
на соответствующие эскейп последовательности.
При этом блоком кода считается любой блок, заключенный в теги <code> </code>.
Установка плагина очень простая.
Загружаете в папку wp-content/plugins
и активируете.
Предварительно нужно будет изменить расширение у файла плагина (с txt
на php
).
Кстати, есть одна особенность. Если вы хотите вставить блок кода из нескольких строк в текст поста, то вам нужно будет его дополнительно заключить в теги <pre>
. Но в комментариях плагин вставит эти теги автоматически.
Обратите внимание. Можно значительно упростить комментирование с помощью плагина LMB^Box Comment Quicktags. Он добавляет панель с кнопками для быстрой вставки тегов над полем с комментарием.
Надеюсь, этот плагин сделает вашу работу комфортнее 🙂