Randomize Beiträge. Überspringe den ersten Beitrag in aufsteigender Reihenfolge

Ich möchte eine Reihe von Posts zufällig randomisieren (benutzerdefinierte Post-Typ), aber den ersten Post alle zusammen ignorieren.

Hier ist der Code, den ich dachte, würde funktionieren:

$featured_content_query = new WP_Query( array( 'post_type' => 'feature', 'offset' => 1, 'posts_per_page' => 10, 'order' => 'ASC', 'orderby' => 'rand' ) ); 

Ohne die orderby die Post möchte ich übersprungen werden ignoriert, aber sobald ich die zufällige Reihenfolge hinzufügen fügt sie es wieder in den Mix.

Weiß jemand was ich falsch mache? Ich fühle mich, als würde ich hier etwas wirklich Offensichtliches vermissen.

Thnx!

Solutions Collecting From Web of "Randomize Beiträge. Überspringe den ersten Beitrag in aufsteigender Reihenfolge"

Ich glaube, dass es verschiedene Wege gibt, dies zu erreichen. Der einfachste Weg, den ich mir vorstellen könnte, ist wie folgt:

 $featured_content_query = new WP_Query( array( 'post_type' => 'feature', 'offset' => 1, 'posts_per_page' => 10, 'order' => 'ASC' ) ); shuffle( $featured_content_query ); //PHP function to randomise posts array 

Sie können dann weiterhin $featured_content_query wie gewohnt verwenden!

Ich suchte nach einer anderen Antwort und stolperte darüber, dachte ich könnte helfen.

Wenn Sie die neuesten Posts ausschließen möchten , können Sie wp_get_recent_posts () verwenden , um die IDs abzurufen, und dann 'post__not_in' => array(#,#) in Ihrer WP_Query verwenden, um die erneut gesendeten Nachrichten auszuschließen Beiträge.

Teste dies ein wenig und fand, dass dies funktioniert, um EINEN Beitrag auszuschließen. Ich denke, dass Sie die Ergebnisse anders analysieren könnten, um mehr als nur ID zu erhalten, wenn Sie dies wünschen.

 $recent = wp_get_recent_posts(array('post_type'=>$type,'numberposts'=>'1')); $recentID[] = $recent[0]['ID']; // this creates an array of one $args = array( 'post_type' => $type ,'post_staus' => 'publish' ,'post__not_in' => $recentID // array()