我想输出一个指南列表,其中每个指南都有投票和评级。所以我想通过评分和投票来对指南列表进行排序。Wordpress - WP_Query Multiple OrderBy Meta_Key
例子:
Guide Name Rating Votes
Guide1 10 3
Guide2 10 2
Guide3 10 1
Guide4 9 6
Guide5 9 2
所以我有2 meta_key与被
omvp_vote_rating and omvp_total_vote
我已经尝试了很多很多的方式来订购指南得到它的工作,但还没有得到它尚未。还有一个办法,我几乎都有它的工作,但问题是,我不能让它通过meta_key订购,通过正常的田间像comment_count, modified, date, rand (random), title ...
所以在这里我只能订购这是我的代码
$args = array(
'post_type' => 'guides',
'meta_key' => 'omvp_vote_rating',
'post_status' => 'publish',
'posts_per_page' => 20,
'meta_query' => array(
array(
'key' => 'omvp_vote_rating',
'compare' => '>=',
'value' => 0
),
array(
'key' => 'omvp_total_vote',
'compare' => '>=',
'value' => 0
),
),
'orderby' => array(
'title' => 'ASC', //<- This is working
'omvp_total_vote' => 'DESC' //<- This is not working
),
);
$wp_query = new WP_Query($args);
嘿,我设法使它像这样的查询工作。问题是用户可能会选择另一个orderby,例如order by Title。在我的代码中,当用户Orderby Title时,ip使用正常的WP_Query($ args)和'orderby'=>'title'。我的问题是当用户决定按标题排序或按排序排序时,我的循环组合正在改变,所以它从“if($ posts-> have_posts()):while(...”到“if($ pageposts ):global $ post; foreach($ pageposts ...“,我真的不知道该如何处理它 –
如果我明白你的问题是正确的,你可以把if-else条件放在orderby字段上 –
是啊我正确理解,但事情是我必须多次复制此查询,以便它适合发送的下拉值中的每个需要 –