web-dev-qa-db-ja.com

テンプレートパーツに変数を渡す

次のコード行を含む1つのテンプレートファイルvideos.phpがあります(HTMLのロードも同様)。

<?php get_template_part('loop', 'feed-videos' ); ?>

そのテンプレート部分の中に、次のものがあります。

<?php $video = 'video-' . $post->ID; ?>
<?php get_template_part( 'include', 'modal-video' ); ?>

$videoの中でinclude-modal-video.php変数を使えるようにしたいと思います。

だからinclude-modal-video.phpの一番上に私は持っています:

<?php global $video; ?>

そのファイルのさらに下に、私は<h2>00: <?php echo $video; ?></h2>があります。

しかし、そのコード行からは何も出力されません。私が見るのは、値 - であるべき場所の以下の指標です。

00

誰かがイムが悪いことを見ることができますか?

2
pealo86

locate_template()の代わりにget_template_part()を使用すると、そのスクリプト内のすべての変数を使用できます。

include(locate_template('include-modal-video.php'));

その後、<h2>00: <?php echo $video; ?></h2>が機能します。

4
Dan.