web-dev-qa-db-fra.com

Passer des variables aux pièces de gabarit

J'ai un fichier modèle videos.php qui contient la ligne de code suivante (ainsi qu'un fichier HTML):

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

à l'intérieur de cette partie du modèle, j'ai les éléments suivants:

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

J'aimerais ensuite pouvoir utiliser la variable $video dans include-modal-video.php.

Donc, en haut de include-modal-video.php j'ai:

<?php global $video; ?>

Plus bas dans ce fichier, j'ai <h2>00: <?php echo $video; ?></h2>

Mais je n’obtiens rien en sortie de cette ligne de code. Tout ce que je vois est l'indicateur suivant de l'endroit où la valeur devrait être

00

Quelqu'un peut-il voir ce que je fais mal?

2
pealo86

Si vous utilisez locate_template() au lieu de get_template_part(), vous pouvez utiliser toutes les variables de ce script:

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

Alors, <h2>00: <?php echo $video; ?></h2> fonctionnera.

4
Dan.