問題
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のテーマエディターからも編集できる。


