最終更新日:2020.08.25
WordPressでソースコードを書くとき、特殊文字を置換するのが大変だったので自動変換するfunction.phpを追加しました。
そのままソースコードを記事に貼り付けるとタグとして実行してしまってコードが表示されないので、それを表示する為にエスケープ処理が必要です。
しかし投稿画面での可読性が落ちますしソースコードの貼り付けに1手間追加され面倒でした。
このfunctionを追加すれば<code>
タグで囲まれた範囲の特殊文字(<,>,&)を変換してくれるのでタグをそのままコピペすればOKです!
<code>
タグにid
やclass
がついていても大丈夫!使いやすい!
この記事で「記事内の特殊文字(<,>,&)を自動変換する」する方法は
プラグイン無し[function.php]
でカスタマイズします。
プラグイン無し[function.php]
でカスタマイズします。
やり方
codeタグ内の<,>,&をエンコードする処理を追加します。
【function.php】一番下に以下を追加!!
コピー
//////////////////////////////////////////////////
//codeタグ内の<,>,&をエンコードする
//////////////////////////////////////////////////
function auto_code_filter($html) {
// codeタグにクラスがある場合もOK
$html = preg_replace_callback( '/(\<code.*?\>)(.+?)(\<\/code\>)/s', function ($matches) {
return $matches[1].htmlspecialchars($matches[2], ENT_QUOTES, 'UTF-8', $double_encode = false).$matches[3];
}, $html );
return $html;
}
add_filter('the_content', 'auto_code_filter');
まとめ
以上です〜簡単です♪
ソースコードをそのまま表示したいなんて、用途は限られていますが楽ちんになるのは嬉しいです。