WordPress. SyntaxHighlighter заменяет символы <> на &lt &gt

Заметил на новом блочном встроенном редакторе, что при добавлении кода в блок SyntaxHighlighter, некоторые символы отображаются не верно, например символы:

>
<

То есть если в блок SyntaxHighlighter добавить пример cron задания, то он будет отображаться на сайте не верно:

0 0 * * * /home/ixnfo/script.sh >/dev/null 2>&1

Чтобы символы отображались как есть, откроем в текстовом редакторе файл /wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php и примерно на строке 516 найдем:

$code = str_replace( '&lt ;', '<', $code );

И заменим на:

$code = htmlspecialchars_decode( $code );

Учтите, что после автоматического обновления WordPress файл syntaxhighlighter.php перезапишется и изменения нужно будет внести повторно. Можно запускать скрипт который сообщит на email когда файл изменится, например как я описывал в статье:
Скрипт проверки целостности файла

Заодно можно поискать испорченные символы в записях сайта (например у меня был случай когда старый классический редактор WordPress в некоторых записях заменил эти символы при редактировании записи, а я этого не заметил):

SELECT * FROM `wp_posts` WHERE post_type='post' AND post_status='publish' AND post_content LIKE '%&gt%';
SELECT * FROM `wp_posts` WHERE post_type='post' AND post_status='publish' AND post_content LIKE '%&lt%';

Оставьте комментарий

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

Больше на IT Blog

Оформите подписку, чтобы продолжить чтение и получить доступ к полному архиву.

Continue reading