WordPress テーマの PHP テンプレート上でショートコードを呼び出す方法

更新日: 公開日:2011/08/30
WordPress テンプレートでショートコードを呼び出す方法

WordPress のショートコードとは「投稿」や「固定ページ」において PHP のプログラムが使えるように、テーマの functions.php に定義したプログラムを呼び出すための機能です。通常ショートコードを呼び出すには [カッコ] で括って、次のようなコードで記します。

ショートコード呼び出し方法
[ショートコード名称]

このショートコード部分は、本文を出力する前に funcsions.php で処理されます。

しかし WordPress のテーマである各種テンプレート PHP ファイルでは、このような書き方をしてもショートコードのプログラムは呼び出せません。これは既にテンプレートファイル自体が PHP プログラムであるため、別途ショートコードを実行する関数を明記しなくてはいけません。

PHP テンプレート上でショートコードを呼び出す方法

ショートコードの呼び出し方法

テーマファイル上でショートコードを呼び出す
<?php
  echo do_shortcode('[ショートコード]');
?>

do_shortcode 関数の引数に、利用したいショートコードをシングルクォーテーションで囲んで記述すれば、テンプレートファイルのどこからでもショートコードのプログラムが呼び出せるようになります。

開始・終了の囲み形式の場合

[test]…[/test] のように、ショートコードの開始・終了を表す囲み形式でも、同じように do_shortcode の引数として記述するだけ。ソースコードが読みやすいように、変数を活用すると良いです。

囲み形式のショートコード呼び出し
<?php
  $scInnerText = 'html タグなどショートコードで挟む内容';
  echo do_shortcode('[ショートコード]' . $scInnerText . '[/ショートコード]');
?>

\ この記事をシェアする /

このブログの運営者

NJ

Web系メインで従事していた元システムエンジニア。現在は個人事業主として独立。Webサイト運営における「困った問題」の解決方法をブログで発信。Web サイト運営、ポップデザインや動画制作など、パソコンでモノづくりをしている。