WordPressでショートコードをPHPファイルに埋め込む方法(do_shortcode)
WordPressでショートコードをPHPファイルに埋め込みたい場合は、下記のようにdo_shortcode
関数をecho
で出力します。
<?php echo do_shortcode('[ショートコード名]'); ?>
例えば「ページIDを指定して、そのページのタイトルを出力するショートコード」をa
タグの中で使いたい場合は下記のようになります。
// [show_page_title id="1"]がページタイトルを返すショートコードだとする
<a href="/example/"><?php echo do_shortcode('[show_page_title id="1"]'); ?></a>
以下で、このコードを解説します。
WordPressのショートコードをPHPテンプレートに埋め込むコードの解説
ショートコードはWordPressの管理画面から使う場合は[ショートコード名]
の形式で使用します。
しかし、PHPテンプレートの中にこのまま書くだけだと、単なる文字列として処理されてしまいます。
そこで、WordPressが用意している関数であるdo_shortcode
を使います。これにより、指定したショートコードをPHPの中で実際に動かすことができます。
そして、ショートコードが生成した結果をecho
によって文字列として出力して、Webページ上に表示します。
以上の理屈により、<?php echo do_shortcode('[ショートコード名]'); ?>
という記述によってショートコードをPHPテンプレート内で使用することができます。
参考:do_shortcode() | Function | WordPress Developer Resources