web-dev-qa-db-fra.com

Utilisation variable dans get_template_part

Autant que je sache (à partir du codex get_template_part ), get_template_part est simplement un wrapper autour de la fonction PHP require.

Donc, si j’ai créé une variable dans un fichier de modèle de page, par exemple. $message, j'aurais supposé que vous pouviez directement utiliser cette variable dans la partie modèle

Donc, dans le fichier de modèle:

<?php 
$message = 'my message';
get_template_part('messages'); 
?>

Ensuite, dans la partie modèle Messages.php:

<?php echo $message; ?>

Cependant, l'écho n'affichera rien.

4
icc97

D'oh, il a simplement besoin d'une global comme fonction interne.

messages.php:

<?php 
global $message; 
echo $message; 
?>
7
icc97

La source

Vous pouvez utiliser locate_template pour trouver le fichier de modèle à inclure. Peu plus propre que d'utiliser des globals.

Ie require(locate_template('messages'));

4
Sam

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

<?php include(locate_template('message.php')); ?>
<?php echo $message; ?>

Echo $ message fonctionnera.

0
Kalo Heem