WordPressでショートコードがそのまま表示されてしまうとき
投稿や固定ページに入力したショートコードがそのまま表示されてしまうことがあります。
たとえば、次のように[ ]で囲まれたショートコードを入力します。
投稿を表示すると、次のようにショートコードがそのまま表示されます。
【原因1】単純な原因は、ショートコードに対応するコードをfunctions.phpに記述していないことが考えられます。典型的には、functionで定義したショートコードの処理をadd_shortcodeで登録するというコードです。
function gmap($atts) { extract(shortcode_atts(array( 'ad' => "", ), $atts)); $address2 = urlencode($ad); $zoom = 15; $url = "http://maps.google.co.jp/maps?q={$address2}&z={$zoom}"; return "<br />【住所】{$ad} <a href=\"{$url}\" target=\"_blank\">[地図]</a>"; } add_shortcode('map', 'gmap');
この例では、mapというショートコードが使われたときはgmapというfunctionが呼び出されます。これによりショートコードが機能して、住所が地図へのリンクに変換されて表示されます。
functionだけを記述してadd_shortcodeを忘れるとショートコードが機能しません。注意してください。
【原因2】これも単純な原因ですが、投稿に入力するショートコードの[ ]は半角です。全角の[ ]を入力するとショートコードは機能しません。
Webで紹介されているショートコードのサンプルでは、便宜上、[ ]が全角で表示されているものがあります。コピーしてそのまま使う場合は注意しましょう。