2021.05.28
【WP】ショートコードがそのまま表示されて動作しない!
functions.phpに記載して作成したショートコードがそのまま表示されてまったく動かない状況に陥ました。どこかにエラーがあります。
functions.php
function border_box($atts) {
extract(shortcode_atts(array(
'midashi' => '', // 連想配列
'text' => '',
'color' => '',
), $atts));
$output = '';
if($text){
$output = sprintf(
'<div class="border-box1" style="background-color:%s"><div class="border-box1_heading" style="border: 3px %s solid">%s</div>%s</div>',
$color, // 1番目の%sの値
$color, // 2番目の%sの値
$midashi, // 3番目の%sの値
$text // 4番目の%sの値
);
}else{
$output = 'テキストが記載されていません。'; // テキストを入力していないと表示されるメッセージ
}
return $output;
}
add_shortcode('borderbox', ' border_box');
このショートコードは下記のようにワードプレスの投稿画面に以下にコードを記載して引用符(“”)のところにカラーコードやテキストを設定します。
[borderbox1 color="darkturquoise" midashi="タイトル" text="いろいろと調べたらadd_shortcodeで指定する関数名の前に半角スペースが入っていただけでした。"]
すると正常に動作すると下のように表示されます。
タイトルいろいろと調べたらadd_shortcodeで指定する関数名の前に半角スペースが入っていただけでした。
原因はショートコードが機能せずにそのまま表示される場合の原因には、スペルミス、関数名の重複などありますがそれらではなく、単に関数名「border_box」の前に半角スペースが入っていただけでした。
半角スペースが原因
add_shortcode(‘borderbox’, ‘ border_box’);
↑
ここに半角スペースが入っていた
参考サイト