Meta Query - 显示经销商1和显示器的显示车辆。经销商2,按经销商排序&条件

时间:2017-12-12 12:33:28

标签: php wordpress

我需要一个元查询,如果关键'经销商'等于经销商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。

任何帮助都将不胜感激。

提前致谢
威廉

1 个答案:

答案 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',
    ),
);

似乎要做的伎俩,如果有人有更好的方法,请告诉我。