質問

次のカスタムクエリがページ用に書かれています - $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();

問題は、コンテンツがページに出力される場合、Post_Titleによるアルファベット順にないことです。これは本当に私を神秘化してきました。 SELECT * FROM wp_2_posts WHERE post_type = 'page' AND post_parent = 616 ORDER BY post_title ASC

その後、結果は正しく返されます。さらに、私はprint_r($ menu_loop)と配列エントリの1つがDBに送信された実際のクエリであり、それは間違って表示されます - [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

これを見ると、声明ごとに注文が投稿されているのではなく、投稿日ごとに並べ替えられています。

ここで何が間違っているのですか?

役に立ちましたか?

解決

ソートパラメーターは次のようにする必要があります: 'orderby' => 'title'

ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top