J’ai créé un type de message personnalisé nommé predic
. J'essaie d’obtenir dans l’un de ce message quatre autres messages aléatoires provenant du même type de message personnalisé. J'ai utilisé ce code, mais je continue à recevoir le même message que je suis dans 4 fois.
<ul>
<?php
$Rand_posts = get_posts('numberposts=4&orderby=Rand');
foreach( $Rand_posts as $post ) :
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
Vous devez inclure setup_postdata($post);
dans votre ligne foreach. Voici un excellent code de démonstration du codex, adopté pour répondre à votre requête:
<ul>
<?php
global $post;
$tmp_post = $post;
$myposts = get_posts( 'post_type=predic&numberposts=4&orderby=Rand' );
foreach( $myposts as $post ) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
<?php $post = $tmp_post; ?>
</ul>
Notez que nous sommes également en train de réinitialiser $ post sur le poste actuel, afin de ne pas casser d'autres fonctionnalités.