PHPをインクルード・get_template_part ショートコード

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・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はテーマディレクトリに置きます。

どういうときにこれを使用するかというと、カスタムフィールドで構成するコンテンツを個別のテーマファイルを編集せずに好きなところに挿入したい場合、同じ内容(価格表など)を複数ページに表示したい場合、など。

この関数をプラグイン化すれば、テーマ関数を編集せずにショートコードを使用できますし、テンプレートファイルもプラグインディレクトリに入れれば、テーマを変えても同じ機能を使用できるようになります。