it-swarm.com.de

Erhalten Sie zufällige benutzerdefinierte Posts von einem benutzerdefinierten Post-Typ

Ich habe einen benutzerdefinierten Beitragstyp mit dem Namen "predic" erstellt. Ich versuche, innerhalb dieses Beitrags weitere vier zufällige Beiträge desselben benutzerdefinierten Beitragstyps zu erhalten. Ich habe diesen Code verwendet, erhalte aber immer wieder denselben Post wie in 4 Fällen.

<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>
2
ciro

Sie müssen setup_postdata($post); in Ihre foreach-Zeile aufnehmen. Hier ist ein großartiger Demo-Code aus dem Codex, der auf Ihre Anfrage zugeschnitten ist:

<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>

Beachten Sie, dass wir $ post auch auf den aktuellen Beitrag zurücksetzen, damit andere Funktionen nicht beeinträchtigt werden.

4
Matthew Boynes