我需要一个元查询,如果关键'经销商'等于经销商1或经销商2,然后按条件对其进行排序,首先使用&演示第二。
到目前为止,我一直在使用此代码:
Line length exceeded. See RFC 2821 #4.5.3.1.. Please check the message and try again."
上面的代码完全正常,但是,我想更改排序顺序,以便按以下顺序显示车辆:
1)经销商1的二手车辆
2)经销商1的演示车辆
3)经销商2的二手车
4)经销商2的演示车辆
所以我需要按经销商和条件对结果进行排序。
我尝试了几种不同的方法,但没有一种方法能够让我得到我之后的结果,大部分都没有。
我怀疑这可以使用这种类型的查询来实现:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('vehicle'),
'post_status' => 'publish',
'posts_per_page' => 10,
'paged' => $paged,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'dealership',
'value' => 'dealer1',
'compare' => '='
),
array(
'key' => 'dealership',
'value' => 'dealer2',
'compare' => '='
),
),
'meta_key' => 'condition',
'orderby' => 'meta_value', //meta_value_num or meta_value
'order' => 'DESC'
);
但是,我无法将此查询仅显示为dealer1&amp ;; dealer2。
任何帮助都将不胜感激。
提前致谢
威廉
答案 0 :(得分:0)
所以,经过一些修补和阅读之后,我想出了这个:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// Query arguments
$args = array(
'post_type' => array('vehicle'),
'post_status' => 'publish',
'posts_per_page' => 10,
'paged' => $paged,
'meta_query' => array(
'relation' => 'AND',
'branch' => array(
'key' => 'dealership',
'value' => array ( 'dealer1', 'dealer2' ),
),
'condition' => array(
'key' => 'condition',
'compare' => 'EXISTS',
),
),
'orderby' => array(
'dealership' => 'DESC',
'condition' => 'DESC',
),
);
似乎要做的伎俩,如果有人有更好的方法,请告诉我。