私の知る限り( get_template_part codex から)get_template_part
はPHP require関数のまわりのラッパーです。
それで、私がページテンプレートファイルで作成した変数を持っているならば。 $message
、私はあなたが直接テンプレート部分でその変数を使うことができると思いました
テンプレートファイルでは:
<?php
$message = 'my message';
get_template_part('messages');
?>
それからテンプレートパートmessages.phpで:
<?php echo $message; ?>
しかしエコーは何も表示しません。
D'oh、それは関数の中にglobal
が必要です。
messages.php:
<?php
global $message;
echo $message;
?>
含めるテンプレートファイルを見つけるには locate_template
を使用できます。グローバルを使用するよりも少しクリーンです。
すなわちrequire(locate_template('messages'));
Get_template_part()の代わりにlocate_template()を使用すると、そのスクリプト内のすべての変数を使用できます。
<?php include(locate_template('message.php')); ?>
<?php echo $message; ?>
エコー$メッセージは動作します。