ショートコードの作り方
基本のショートコード
<?php // functioins.phpに記述 function my_func() { $text = 'Hollow World'; return $text; } add_shortcode('test','my_func'); ?>
上記のような簡単な記述であれば、「return」ではなく「echo」などでも動くが、値としてやりとりする方が利用用途が増えるので「return」が無難。
ショートコードに引数を渡す
ここでは、ショートコードに引数を渡す。その際、デフォルト値を設定できる、必要なければ「”」にする。
<?php function my_func($atts) { //引数のデフォルト値を設定 extract($atts = shortcode_atts(array( 'title' => '',//初期値 'text' => array(),//配列で渡す ), $atts)); //今回はdiv ul liで表示 if($title){ $title = '<p>'.$title.'</p>'; } $box = '<div>'; $box .= $title; $box .= '<ul>'; // テキストを分割し配列に入れ直し、foreachでli表示 $text_box = array(); if ($text && $text != 'all') { $text_box = explode(',', $text); //カンマで分割して配列に入れ直す } foreach($text_box as $value){ $box .= '<li>'.$value.'</li>'; } $box .= '</ul></div>'; //出力 return $box; } add_shortcode('test2', 'my_func'); ?>
テンプレートファイルでショートコードを使う
<?php echo do_shortcode('[ショートコードの文字列]'); ?>