Der benutzerdefinierte Posttyp kann nicht nach dem Zufallsprinzip sortiert werden

Hier sind die Argumente für meine Abfrage.

Die Abfrage zeigt nach jeder Aktualisierung immer die gleiche Reihenfolge an.

Erläuterung zur Abfrage: Es werden nur 4 Posts des benutzerdefinierten projekte . Der Post hat ein benutzerdefiniertes ecpt_skills namens ecpt_skills und es sollte prüfen, ob eine Zeichenfolge darin enthalten ist, die in der Variablen $porjektart gespeichert ist. Es sollte auch nicht den aktuellen Beitrag anzeigen. Und es sollte die Abfrage nach dem Zufallsprinzip sortieren. Alles funktioniert außer dem Zufall.

  $args = array( 'posts_per_page' => 4, 'post_type' => 'projekte', 'meta_key' => 'ecpt_skills', 'meta_value' => $projektart, 'meta_compare' => 'LIKE', post__not_in => array(get_the_ID()), 'orderby'=> 'rand' ); 

Weiß jemand, warum das passiert?

Solutions Collecting From Web of "Der benutzerdefinierte Posttyp kann nicht nach dem Zufallsprinzip sortiert werden"

Sie können Meta- meta_query , um in den Metadaten zu suchen und sie dann nach dem Zufallsprinzip zu sortieren:

 $args = array( 'posts_per_page' => 4, 'post_type' => 'projekte', 'orderby'=> 'rand', 'post__not_in' => array( get_the_ID() ), 'meta_query' => array( array( 'key' => 'ecpt_skills', 'value' => $projektart, 'compare' => 'LIKE', ) ), ); 

Es gibt auch einen Tipperrors in Ihrem Code, der post__not_in sollte als 'post__not_in' .

Und wenn Ihr Meta-Wert nicht numerisch ist, sollten meta_value stattdessen Meta-Wert anstelle von Meta-Wert- meta_value_num .

Ich habe das Problem gefunden.

Ich benutze das benutzerdefinierte Post-Typ-Bestell- Plugin.

Eine zufällige Reihenfolge wirkt sich also nicht auf die Abfrage aus.

Sie müssen 'ignore_custom_sort' => true, in Ihre benutzerdefinierte Abfrage einfügen 'ignore_custom_sort' => true, damit sie funktioniert.