問題
WordPressのSyntaxHighlighter Evolvedは、コード表示を整形してくれる便利なプラグイン。
しかし、既知の問題として、アンパサンド「&」が「& amp;」に変換されて表示されてしまう。
コードには&記号がよく使われるので、この問題を解決する。
対応方法
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 kagg_syntaxhighlighter_precode( $code, $atts, $tag ) { if ( 'code' === $tag ) { $code = wp_specialchars_decode( $code ); } return $code; } add_filter( 'syntaxhighlighter_precode', 'kagg_syntaxhighlighter_precode', 10, 3 );
wordpressのテーマエディターからも編集できる。