記事内にサンプルコードを埋め込むと > が > に変換される

プラグイン「SyntaxHighlighter Evolved」やその他の方法でコードプレビューを埋め込んだ際、よくわからないタイミングで大なり(「>」)が「>」に変換されてしまうことがある。

せっかくコードを書いたのに、WordPressの余計な機能で勝手にこんな風に置換される。

コード
$info=array(
'time'=>$this->sToM($media->getDurationInSeconds()),
'channels'=>$mediaStreams->get('channels'),
'sampringlate'=>$mediaStreams->get('sample_rate'),
'bitrate'=>$mediaStreams->get('bit_rate')/$mediaStreams->get('sample_rate')/$mediaStreams->get('channels'),
);

〇すぞ!!!!!!!

 

解決策(後日更新)

Urvanov Syntax Highlighter というプラグインを使う。

これなら空気読んでいい感じにコードを掲載してくれる。

 

旧解決策(昔やってた方法)

今は推奨しません。

 

子テーマのfunctions.phpに下記を追加

[code lang="php"] //記号を勝手にwordpressが変換しないようにする
add_filter('the_content', function($content) {
$content = str_replace('&', null, $content);
$content = str_replace('amp;', null, $content);
$content = str_ireplace('>', '>', $content);
return $content;
});
[/code]

 

3行目~5行目の

「&amp」

「amp」

「&gt」

「>」

は半角にしてね。

(本サイトはこの処理をすでに加えているので、逆に「&」や「>」を半角で表示できない)

 

記事を書いている途中では解消されないが、更新や投稿をするとちゃんと大なり(「>」)が表示されているはず!

 

コードの説明

「&」という文字列があったら消す

「amp;」という文字列があったら消す

「>」という文字列があったら「>」に置換しなおす

という処理。

 

この関数は、プラグインの翻訳が気に入らないときなどに無理やり書き換えるために使われることが多い。

 

発生タイミング

Ctrl + Z などのショートカットを使ったり、コードを途中から貼り付けたりするとなぜかこの症状がおこる。

強制的に文字列を置換しなおす処理をfunctions.phpに書くことによって、置換機能をつぶしている。

 

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事