Problem mit WP_Query -Sortierung
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?
Lösung
Ihr Sortierparameter sollte: 'orderBy' => 'title' sein