wordpressで記事内にコードを表示。


プラグイン無しでwordpressにコードを表示する。

wordpressで記事にコードを書く時にプラグインを使うのが多いらしい。
プラグインだと表示が遅いとの記事もあったので、他の方法を探す。

ショートコードで出来るようです。

参考サイト

テストサイトで実験してみる。 function.phpに下記コードを追加。
function escape_my_code( $attr, $content = null ){
    $content = clean_pre($content); // プラグインでp、brタグを除去しない環境では必要
    $content = trim($content);
    $content = str_replace("\t", '    ', $content); // タブを半角スペースに
    $content = str_replace('<', '<', $content);
    return '<pre class="sourcecode"><code>'.$content.'</code></pre>';
}
add_shortcode('code', 'escape_my_code');

記事では[code][/code]でコードを囲む。 でも、少し表示がおかしいな。「’;」が改行されてる。

自動でpとbrタグの除去プラグイン「PS Disable Auto Formatting」を有効にすると直った。 だが、「PS Disable Auto Formatting」は「wp4.3」でエディタ切り替え時の不具合があるらしい。

ショートコードプラグインWP Canvas – Shortcodesでも出来るみたい。

参考サイト

要素は<p><code>コード要素</code></p>で囲まれてる。 urlは<a>要素になってる。