Правильное отображение амперсанда в блоке SyntaxHighlighter – & вместо &

30.11.2019
TemplateMonster - лучшая коллекция шаблонов для CMS WordPress

Суть проблемы – при добавлении кода в визуальном редакторе с помощью плагина SyntaxHighlighter символ & отображается как &

А значит при копировании данного кода у пользователя возникнут ошибки и проблемы.

Данный баг замечен на сайте с WordPress 5.3 и SyntaxHighlighter Evolved 3.5.1 при использовании встроенного редактора Gutenberg.

Разработчик знает об этом баге, но пока не выкатил решение, свалив всю вину на Gutenberg, поэтому проблему будем решать самостоятельно. Достаточно добавить данный код в файл functions.php на свой сайт:

/**
 * Filter to fix issue with & in SyntaxHighlighter Evolved plugin.
 *
 * @param string $code Code to format.
 * @param array $atts Attributes.
 * @param string $tag Tag.
 *
 * @return string
 */
function crea_syntaxhighlighter_precode( $code, $atts, $tag ) {
    if ( 'code' === $tag ) {
        $code = wp_specialchars_decode( $code );
    }
    return $code;
}
add_filter( 'syntaxhighlighter_precode', 'crea_syntaxhighlighter_precode', 10, 3 );

Ну, и если в коде выше вы не видите & – значит он работает.

TemplateMonster - лучшая коллекция шаблонов для CMS WordPress

Полезная инфа:

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