我有以下为页面编写的自定义查询 - $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

然后结果正确返回。此外,i print_r($菜单_loop)和其中一个数组条目是发送到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

如果您看到的话,您会看到按语句按帖子日期进行排序,而不是帖子标题。

我在这里做错了什么?

有帮助吗?

解决方案

您的排序参数应为:'orderbod'=>'标题'

许可以下: CC-BY-SA归因
scroll top