情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
過去に投稿した「PHPをインクルードするショートコード」「PHPをインクルードするショートコード 改」をまとめて補足します。
- PHPをインクルードするショートコード
-
function PHP_Include($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('tp', 'PHP_Include');
- PHPをインクルードするショートコード 改 get_template_part() を使用
-
function get_tmp($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); get_template_part($file); return ob_get_clean(); } add_shortcode('tp', 'get_tmp');
ショートコードの書き方はともに tp file=”xxxx” テンプレート・PHPはテーマディレクトリに置きます。
どういうときにこれを使用するかというと、カスタムフィールドで構成するコンテンツを個別のテーマファイルを編集せずに好きなところに挿入したい場合、同じ内容(価格表など)を複数ページに表示したい場合、など。
この関数をプラグイン化すれば、テーマ関数を編集せずにショートコードを使用できますし、テンプレートファイルもプラグインディレクトリに入れれば、テーマを変えても同じ機能を使用できるようになります。