SyntaxHighlighter Evolvedで「&」が「&」に?!

WordPress

SyntaxHighlighter Evolved で 問題があることに気づいた。

  • WordPress 5.5–ja
  • SyntaxHighlighter Evolved 3.5.5

ソースコードを書く場合、WordPressプラグイン「SyntaxHighlighter Evolved」を使用してハイライト表示させているわけだが、先日の記事で「&」の表記がおかしい。

「&」が「&」で表記されている。。。。

こうゆう時は、すぐ ググル(笑

WordPressサポートフォーラム:
https://wordpress.org/support/topic/ampersand-character/

この記事によると、WordPress自体のバグのようです。。。orz

対応方法が 記載してあったので マルパクリ!(笑
「functions.php」に関数を追加します。

STINGER +2 の場合、「外観」→「テーマエディタ」→「テーマのための関数」を選択。『 STINGER PLUS2 Child: テーマのための関数 (functions.php)』が編集対象になっていることを確認したら、下記のコードを追加します。

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 );

これで いまのところ正常に表示されています。

add_filter

add_filter() は、WordPressの関数でフィルターイベントに 関数を追加することができます。

  • フィルタイベント:’syntaxhighlighter_precode’
  • 関数      :’kagg_syntaxhighlighter_precode’
  • 優先順位    :10(初期値)
  • 受け取る引数の数:3

コメント

タイトルとURLをコピーしました