本文エリア等ショートコードが利用可能な場所で予め用意したテンプレートファイルを呼び出して出力するショートコード
テンプレート内容を出力するショートコード
ショートコード
/**
* ショートコードでテンプレートを出力する
* [get_template_part arg1='content' arg2='loop']
*/
function sc_get_template_part($atts)
{
//配列($atts)から変数($arg1,$arg2)を作成する
extract(
shortcode_atts(
array(
'arg1' => '',
'arg2' => '',
),
$atts
)
);
//
ob_start(); //バッファリング開始
get_template_part( $arg1, $arg2 ); //テンプレートを呼び出し出力
$html = ob_get_contents(); //変数に代入
ob_end_clean(); //バッファリング終了
//
return $html;
}
add_shortcode( 'get_template_part', 'sc_get_template_part' );
使い方
テーマディレクトリ以下に用意したテンプレートファイル templates/parts/links.php
を出力する場合以下のように本文エリアなどショートコードが利用可能なところに記述して利用します。
[get_template_part arg1="templates/parts/links"]
templates/parts/links-new.php
を出力したい場合は、以下のように記述します。
[get_template_part arg1="templates/parts/links" arg2="new"]
動作環境情報
エックスサーバー(x10) PHP 7.4.13 MySQL 5.7 WordPress 5.7.1
コメント