ショートコードを記述するだけで、複雑な処理を簡単に実行できるプラグインはたくさんあります。例えば、Contact Form 7も作成したお問い合わせフォームをショートコード一つでページ内に実装できます。
通常の投稿や固定ページ内では、ショートコードをそのまま記述すればOKですが、テーマファイル内でショートコードを実行したいと思ったら、do_shortcode関数を使わなければいけません。テーマファイル内にそのままショートコードを記述しても実行されません。
テーマファイル内でショートコードを実行させる方法を覚えると、テーマの制作時にできることの幅が広がります。そんなわけで、今回はdo_shortcodeの使い方についてご紹介したいと思います。
テーマファイル内でショートコードを実行するための関数「do_shortcode」の使い方
do_shortcodeの使い方は非常に簡単ですが、ショートコードの種類によって少し記述の仕方が変わります。
自己完結型ショートコード
自己完結型ショートコードの場合は、以下のように記述します。
<?php echo do_shortcode('[shortcode_name]'); ?>
ショートコードに引数がある場合は、そのまま記述すればOKです。
<?php echo do_shortcode('[shortcode_name id="1"]'); ?>
囲み型ショートコード
囲み型ショートコードの場合は、以下のように記述します。
<?php echo do_shortcode('[shortcode_name]'.$value.'[/shortcode_name]'); ?>
$valueの部分にはテキストなどが入ります。$valueの部分に入れたい内容をそのまま記述しても良いのですが、あらかじめ$valueに入れたい内容を代入しておくと、コードがごちゃごちゃしないかと思います。
あとがき
プラグインによってはdo_shortcodeに対応していないものもありますので、その点は注意が必要です。うまく動かない場合は、プラグインがdo_shortcodeに対応しているか確認してみましょう。