
wordpressでショートコードが表示されないときのチェックポイント3つ
WordPressの投稿記事にはPHPなどのプログラムを直接書くことができません。投稿内でプログラムを動かしたい場合は、ショートコードを自作して対応する必要があります。ショートコードを使えば、アドセンス広告のような長いコードもシンプルに記述できて便利です。この記事では、コピペで使えるショートコードのサンプルコードと、ショートコードが表示されないときのチェックポイントを解説します。
WordPressで自作ショートコードを作成する方法
WordPressでショートコードを自作するには、functions.phpに以下のコードを追記します。
function shortcode() {
$str=<<<eot
コンテンツ
eot;
return $str;
}
add_shortcode('sc', 'shortcode');
コードの中に「shortcode」が2か所、「sc」が1か所あります。これらはそれぞれ任意の名前に変更してください。上記のままfunctions.phpに追記して、投稿エリアに[sc]と記述すると「コンテンツ」と表示されます。
WordPressのショートコードには、テキスト・HTML・PHPなどの動的プログラムを含めることが可能です。
WordPressショートコードが表示されないときのチェックポイント
ショートコードを設定したのに正しく表示されない場合があります。「コンテンツ」と表示されず[sc]というショートコード名がそのまま表示されてしまう状態です。原因はいくつか考えられるので、以下のポイントを順番に確認してみてください。
チェック1:角括弧が半角になっているか
ショートコードを囲む角括弧([ ])は必ず半角で記述します。全角で記述してしまうと正しく表示されません。ネット上のショートコード解説記事の中には全角で表記しているものもあるため、コピペする際は注意が必要です。
チェック2:名称が重複していないか
WordPressでは複数のショートコードを自作できますが、名称が重複すると正しく表示されません。今回のサンプルコードでいえば「shortcode」と「sc」にあたる部分です。他のショートコードと同じ名前を使っていないか確認してください。
チェック3:テンプレートファイルに直接書いていないか
ショートコードは、投稿記事や固定ページに記述することで正しく動作します。single.phpなどのテンプレートファイルに直接記述しても表示されません。phpファイル内でショートコードを出力したい場合は、以下のように記述してください。
<?php echo do_shortcode('[ショートコード名]'); ?>
角括弧を省いたり、echoを抜いたりすると正しく表示されないので注意してください。
ショートコードが表示されないときは落ち着いて原因を確認しよう
WordPressのショートコードは、作業効率を大幅に上げてくれる便利な機能です。正しく表示されないときは焦らず、上記のチェックポイントを一つずつ確認してみてください。原因のほとんどは単純なミスであることが多く、落ち着いて見直せば解決できます。

