[WordPress] プラグイン「SyntaxHighlighter Evolved」で「&」が「&」になる問題

  • 公開日:2019/10/15
この記事は最終更新日から4年以上が経過しています。

WordPressの記事でソースコードを投稿する場合にGutenbergにも対応している「SynataxHighlighter Evolved」というプラグインを使用しています。

シンプルで使いやすく気に入っているのですが先日の投稿で「&」が「&」と表示されてしまうことが判明しました。これだけのために別のプラグインを探すのも面倒なので調べてみたところ、サポートフォーラムで対応方法が紹介されていました。助かった!

その対応方法は、functions.phpに以下を記述します。

add_filter( 'syntaxhighlighter_precode', 'custom_syntaxhighlighter_precode', 10, 3 );
function custom_syntaxhighlighter_precode( $code, $atts, $tag ) {
    if ( 'code' === $tag ) {
        $code = wp_specialchars_decode( $code );
    }
    return $code;
}

これで「&」が無事にそのまま表示できるようになりました。
ちなみに、確認したバージョンは以下のとおりです。
WordPress 5.2.3
SyntaxHighlighter Evolved 3.5.1

参考サイト:Ampersand character | WordPress.org