<?php
if (is_single()) { ?>
<?php $imvi = get_post_meta(get_the_ID(), 't_Puck_imvi', true); ?>
<div class="class1" <?php if( 'none' === $imvi) { ?> style="display:none;" <?php } ?>>
<div class="<?php if( 'show_vi' === $imvi || 'show_im' === $imvi) {echo 'video';} ?>">
<?php if( 'show_vi' === $imvi || 'show_vint' === $imvi ) { ?>
<div>
<?php
// some code here
?>
</div>
<?php } ?>
<?php if( 'show_image' === $imvi || 'show_image_notext' === $imvi ) {
the_post_thumbnail( 'large');
}
?>
</div>
</div>
<?php } ?>
Ci-dessus, un code exécuté en single.php dans une boucle WordPress. Tous bons pas de problèmes.
Mais je veux réaliser autre chose.
Au lieu de cela, je veux que ce code soit exécuté quelque part sur la page d'accueil, mais pas dans une boucle mais sur une publication particulière. Je pense donc que nous devons utiliser l'ID de ce message, n'est-ce pas?
donc je crois que le secret est quelque part ici:
<?php $imvi = get_post_meta(get_the_ID(), 't_Puck_imvi', true); ?>
pouvez-vous me guider comment réaliser cette boucle sans, mais par un certain Post ID.
Convertir un morceau de code dynamique en un code statique est une tâche assez simple. C'est l'inverse qui est complexe.
Toute fonction WordPress pouvant accepter get_the_ID()
peut également accepter une chaîne en tant qu’identifiant. Certains acceptent même les tableaux.
Alors, en tournant simplement
get_post_meta(get_the_ID(), 't_Puck_imvi', true);
à
get_post_meta( 123 , 't_Puck_imvi', true);
Fera le travail.
Toutes les fonctions pouvant être utilisées avec une boucle n'acceptent pas un identifiant de publication. Un exemple serait the_post_thumbnail_url()
fonction qui prend uniquement une taille en entrée. Dans de tels cas, il est fort probable qu'une fonction identique soit utilisée, telle que get_the_post_thumbnail_url()
.