При попытке показать в статье пример javascript или php-код Вордпресс в целях безопасности не показывает или перекодирует некоторые знаки в специальные html-символы, что приводит к неработоспособности кода при его копировании. Не всегда помогает оборачивание части кода тегами code и pre.
Содержание
Плагин WP-Syntax
-
Плагин WP-Syntax поможет вам вставить код в запись (страницу) WordPress без искажения:
- меньше других аналогичных плагинов нагружает WordPress;
- наименее конфликтен с другими плагинами;
- широкий функционал (для публикации в SEO-блогах даже избыточен);
- позволяет разные блоки кода выводить со своим оформлением (подсветка, нумерация и т.д.)
Установить плагин можно с официального депозитария WordPress по адресу:
Плагин не имеет настроек и после активации сразу готов к использованию.
Для вывода кода оберните его тегом pre в html-редакторе:
При работе в HTML-редакторе нельзя переходить в обычный визуальный режим работы редактора WordPress.
Параметр LANG
Обязательный параметр. В lang необходимо явно указать язык программирования: php, java, css, html, при этом код будет подсвечен соответствующим образом:
Так если при выводе php-кода не указать lang="php" , то часть кода не будет показана (и соответственно не будет доступна для копирования).
Параметр LINE
Необязательный параметр. С помощью опции line строки можно нумеровать. Естественно при копировании кода нумерация не копируется.
Если указать допустим line="3", то нумерация строк начнется не с 1, а с 3:
Параметр HIGLIGHT
Необязательный параметр. Опцией highlight можно подсветить нужную нам строку (в нашем примере это строка 2):
Параметр ESCAPED
Необязательный параметр. По умолчанию спецсимволы выводятся как есть:
Для замены спецсимволов на теги воспользуйтесь опцией escaped="true":
Длинные строки кода
При выводе длинных строк кода приходится скроллить влево-вправо чтобы увидеть всю строку.
Перебрал несколько плагинов для вывода кода в статьях и в конце-концов остановился именно на WP-Syntax.
Использование энкодера
Как вариант — можно вставить код в энкодер (например Code Beautify: ), для преобразования в спецсимволы, а потом вставить результат между тэгами code или pre.
Чем отличается code от pre? Pre учитывает пробелы (даже несколько подряд) и перенос строки.