私のカスタムテンプレートの1つでは、コンテンツを表示する前にコンテンツを操作する必要があります。単にページに出力するのではなく、このコンテンツを変数にロードする方法はありますか。
これは私が試したものですが、ページの内容を出力するだけで、変数にはロードしません。
$content = get_template_part( 'content', 'page');
出力内容のバッファリングを使用して、印刷内容を変数に格納することができます。
function return_get_template_part($slug, $name=null) {
ob_start();
get_template_part($slug, $name);
$content = ob_get_contents();
ob_end_clean();
return $content;
}
$content = return_get_template_part('content', 'page');
今のところ get_template_part() を使い続けるにはこれが最も望ましいでしょう。代わりの方法は locate_template() 関数を使うことですが、デフォルトのテンプレートを使うことを危うくします。
get_template_part() および locate_template() の実装を確認してください。
テンプレートファイルをロードし、それに含まれるコードを実行し、そして結果を変数に保存したい場合は、phpの出力バッファリングを使用する必要があります。
ob_start();
get_template_part( 'content', 'page' );
$content = ob_get_contents();
ob_end_clean();