Frage

Ich habe die folgende benutzerdefinierte Abfrage für eine Seite geschrieben. $menu_loop = new WP_Query( array( 'post_type' => 'page', 'posts_per_page' => 50, 'post_parent' => 616, 'order_by' => 'post_title', 'order' => 'ASC' ) ); while ($menu_loop->have_posts()) : $menu_loop->the_post();

Das Problem ist, wenn der Inhalt auf der Seite ausgegeben wird, befindet sich er nicht in alphabetischer Reihenfolge von post_title. Das hat mich wirklich mystifiziert, denn wenn ich die DB mit- manuell abfrage SELECT * FROM wp_2_posts WHERE post_type = 'page' AND post_parent = 616 ORDER BY post_title ASC

Dann werden die Ergebnisse korrekt zurückgegeben. Darüber hinaus drucke ich ($ mseu_loop) und einer der Array-Einträge ist die tatsächliche Abfrage, die an die DB gesendet wurde und es falsch ist und zeigt. [request] => SELECT SQL_CALC_FOUND_ROWS wp_2_posts.* FROM wp_2_posts WHERE 1=1 AND wp_2_posts.post_parent = 616 AND wp_2_posts.post_type = 'page' AND (wp_2_posts.post_status = 'publish') ORDER BY wp_2_posts.post_date ASC LIMIT 0, 50

Wenn Sie nachsehen, werden Sie die Bestellung per Anweisung sehen, die nach dem Postdatum sortiert wird, nicht nach dem Post -Titel.

Was mache ich hier falsch?

War es hilfreich?

Lösung

Ihr Sortierparameter sollte: 'orderBy' => 'title' sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top