所以我有这个查询
$args = array(
'post_type' => 'course', // custom post type
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'title'
);
$courses = new WP_Query($args);
这给了我想要的东西,但是orderby语句被忽略了。当我转储$courses->request
时,我得到了这个
' SELECT wp_posts。* FROM wp_posts WHERE 1 = 1 AND wp_posts.post_type ='当然' AND((wp_posts.post_status ='发布'))订购Wp_posts.menu_order ASC'
它将orderby默认为menu_order而不是title。这里发生了什么?
答案 0 :(得分:1)
我也遇到了同样的问题,我使用“ post_title”而不是“ title”解决了该问题。
$args = array(
'post_type' => 'course', // custom post type
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'post_title' // change here
);
$courses = new WP_Query($args);
答案 1 :(得分:0)
检查您是否使用过parse_query
或pre_get_posts
钩在网站的某个地方
add_action( 'pre_get_posts', 'function_name' );
add_filter( 'parse_query', 'function_name' );