После небольшого перерыва и полного разбирательства проблемы вставки в RSS-ленту кнопки ретвита, я продолжаю вести свой блог и сегодня напишу небольшой пост по ещё одному плагину для WordPress.

Плагин под названием WP-Syntax. Из названия поста, наверное, понятно уже, что плагин предназначен для выделения кода, написанного на различных языках, цветом и размещения его в отдельный блок. Примеры использования плагина вы можете увидеть на моём блоге в предыдущем посте и в этом тоже, только чуть ниже.

С установкой плагина ни у кого не должно возникнуть проблем, так как установка данного плагина ни чем не отличается от установки любого другого плагина.

Я же уделю внимание его использованию и настройке самого плагина.

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

<pre lang="ЯЗЫК"></pre>

Это минимум для работы плагина. Без параметра lang код подсвечиваться не будет. Но также блоку pre можно дать и другие параметры. Давайте рассмотрим все.

  • LANG - язык, на котором написан код. Самые распространенные значение: php или php-brief, html4strict (значение html не работает) и java или java5 или javascript. ОБЯЗАТЕЛЬНЫЙ ПАРАМЕТР!
  • LINE - при значении 1 будут указываться также номера строк в коде, начиная с первой строки. Значение означает с какой строки начинать отсчет. При пустом значении или 0 их не будет.
  • ESCAPED - при значении true знаки &lt; и прочие будут заменяться на < и прочие соответственно. Проще говоря, декодирование html-символов. При значении false останутся такими же.

А вот теперь о самой настройке. Никаких новых пунктов в админ-панели вы не увидите, так как плагин не имеет никаких настроек. Под настройкой я подразумеваю сейчас исправление некоторых недостатков и недочетов.

А недочет здесь один. При написании поста в визуальном редакторе самого WordPress нельзя вставить просто так нужный блок, поэтому приходится переключаться на HTML-редактор. После вставки блока и вписывания параметров, по сути, опять переключаемся на визуальный редактор. И вот тут проблема в том, что при обратном переключении пропадают параметры line и escaped. Поэтому нам придется заранее поставить для них нужное стандартное значение.

Для этого необходимо открыть файл wp-syntax.php в папке с плагином /wp-content/plugins/wp-syntax/. Все изменения будем производить в нем. Если точнее, то именно в функции wp_syntax_highlight.

1. Итак, чтобы присвоить по умолчанию параметру ESCAPED значение TRUE, то есть чтобы у вас по умолчанию происходило декодирование html-символов, необходимо заменить строку:

if ($escaped == "true") $code = htmlspecialchars_decode($code);

на следующую:

if ( (!$escaped) || ($escaped == "true") ) $code = htmlspecialchars_decode($code);

2. Чтобы у вас по умолчанию отображались номера строк, начиная с первой строки, необходимо заменить строку:

$line = trim($match[2]);

на строку:

$line = trim($match[2]) ? trim($match[2]) : "1";

Теперь у вас не будет возникать проблем с постоянной вставкой того или иного параметра.

Кстати, плагинов для подсветки кода достаточно много. А каким пользуетесь вы?