投稿や固定ページでショートコードを使いたい
投稿や固定ページなど、管理画面上でつくったページにショートコードを埋め込みたいときの方法です。
・一部のページだけで共通のサイドバーやフッターといったコンテンツを使用したいとき
・記事の作成者がhtmlやphpに詳しくない、もしくはテンプレートファイル本体に触れないといったとき
などに使用できるかと思います。
functions.phpに追記するだけ!
①phpファイルを作成する
使いまわしたいコードが記述されたファイルを作成します。ファイル名は任意です。ここでは仮に「shortcode.php」としておきます。
②functions.phpでショートコードを作成する
以下の内容をfunctions.phpに記述します。
1 2 3 4 5 6 7 |
function my_temp_Include($atts) { extract(shortcode_atts(array('file' => 'default'), $atts)); ob_start(); include(STYLESHEETPATH . "/$file.php"); return ob_get_clean(); } add_shortcode('my_temp', 'my_temp_Include'); |
これで、ショートコードで任意のテンプレートファイルを呼び出せます。
shortcode.phpを呼び出したいときは、投稿や固定ページには[my_temp file=’shortcode’]と記載すればOKです。
指定されたファイルを読み込むinclude()で任意のphpファイルを読み込み、add_shortcodeで新たに汎用的なショートコードを作成しています。
なので、仕組みとしては、ファイルを呼び出すというよりは読み込むのほうが正しいですね。
参考にさせていただきました
https://se.ekaki-j.com/wp-template-include/