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