Zeigen Sie zufällige Posts an, aber lassen Sie den Post weg, auf dem es sich befindet?

Ich versuche, einen Abschnitt unter einem einzigen Post zu haben, wo er völlig zufällige Posts anzeigt. Ich habe alles funktioniert, aber ab und zu ist einer der zufälligen Posts, die angezeigt werden, der eigentliche Post, auf dem er sich befindet (die Single).

Hier ist mein Code:

 3, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts as $post ) : ?>  

Gibt es das überhaupt, um den Post, auf dem es steht, nie anzuzeigen?

Vielen Dank.

Solutions Collecting From Web of "Zeigen Sie zufällige Posts an, aber lassen Sie den Post weg, auf dem es sich befindet?"

Überprüfen Sie, ob Sie eine Post-ID haben (was Sie auf einer einzelnen Post-Seite single.php sollten, aber ich bin mir nicht sicher, ob dies in single.php oder einer anderen Vorlage wie index.php ) und fügen Sie das zu den $args .

 $args = array( 'numberposts' => 3, 'orderby' => 'rand' ); if (is_singular() && isset($post->ID)) { $args['exclude'] = array($post->ID); } $rand_posts = get_posts( $args ); 

Referenz

http://codex.wordpress.org/Function_Reference/is_singular
http://codex.wordpress.org/Template_Tags/get_posts
http://codex.wordpress.org/Function_Reference/get_pages

Kurz davor können Sie < ?php print_r( $post ); ?> < ?php print_r( $post ); ?> und wenn es ein Array zurückgibt, dann können Sie einen Parameter 'exclude' => $post->id, hinzufügen 'exclude' => $post->id,

Entfernen Sie die print_r(); function, nachdem Sie getestet haben.