Время для прочтения: 1 мин. 6 сек.

SyntaxHighlighter Evolved в De:comments

SyntaxHighlighter Evolved - замечательный WordPress-плагин для подсветки синтаксиса внутри постов и комментариев от товарища Алекса Миллса (Alex Mills).

Он отлично работает с дефолтными комментариями, но отказывается делать подсветку в комментариях на базе плагина De:comments.

Копнув код плагина SyntaxHighlighter Evolved, я нашел, что он цепляется за фильтр comment_text для поиска своих шорткодов внутри текста комментария:

add_filter( 'comment_text', array( $this, 'parse_shortcodes_comment' ), 7 );

Данный фильтр не используется в плагине De:comments, но, судя по его исходнику, есть аналогичный фильтр с названием decomments_comment_text, вот за него и цепляемся:

/**
 * Прикрутить SyntaxHighlighter к комментариям
 * на базе плагина De:comments
 *
 * @param string $comment_text текст комментария
 *
 * @return string
 */
function mihdan_add_syntax_highlighter_to_comments( $comment_text ) {
	/** @var SyntaxHighlighter $SyntaxHighlighter */
	global $SyntaxHighlighter;
	return $SyntaxHighlighter->parse_shortcodes_comment( $comment_text );
}
add_filter( 'decomments_comment_text', 'mihdan_add_syntax_highlighter_to_comments' );

Результат можно наблюдать в комментариях этого сайта.

Пошерить
Плюсануть
Отправить
Вотсапнуть

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1. Нажимая на кнопку "Отправить", я даю согласие на обработку персональных данных.

2. Для вставки кода используйте специальные теги [code lang="php"]ваш код[/code]

2 комментария

сначала новые
по рейтингу сначала новые по хронологии
Максим

Для вставки кода используйте HTML-теги

ваш код

Автор
Кобзарёв Михаил

Тестим?