【WordPress】SyntaxHighlighter Evolvedで「&」の「& amp;」変換を防ぐ

問題

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

【WordPress】SyntaxHighlighter Evolvedで「&」の「& amp;」変換を防ぐ - yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 - 【WordPress】SyntaxHighlighter Evolvedで「&」の「& amp;」変換を防ぐ

https://wordpress.org/support/topic/ampersand-character/

コメントを残す

メールアドレスが公開されることはありません。