多个meta键的WordPress顺序

时间:2018-12-18 11:34:46

标签: wordpress sql-order-by

我正在为Wordpress查询的orderby选项苦苦挣扎。 我想订购帖子列表,按键“ other-value”是否存在值进行排序。然后这些项目有多少点击。

  1. 因此,首先是具有现有值的帖子,然后是没有该值的帖子。
  2. 然后在现有和不存在的帖子中使用“点击排序”键对用户单击的顺序进行排序。

查询

'meta_query'    => array(
    'relation' => 'OR',
    array(
        'relation' => 'AND',
        array(
            'key' => 'sort-by-clicks'
        ),
        array(
            'key' => 'other-value',
            'compare' => 'EXISTS',
        )
    ),
    array(
        'relation' => 'AND',
        array(
            'key' => 'sort-by-clicks'
        ),
        array(
            'key' => 'other-value',
            'compare' => 'NOT EXISTS',
        )
    )
),

我尝试添加额外的参数来排序,但是我不知道哪种方法是正确的。

不成功的订单 `

'othervalue' => array(
            'key' => 'other-value',
            'compare' => 'EXISTS',
        )

然后通过以下方式进行订购

'orderby'  => array(
    'othervalue' => 'DESC'
)

我想这是正确的方法,但是我看不到难题的结局

1 个答案:

答案 0 :(得分:0)

我有解决方案。请尝试使用以下代码:

$args = array(
    'post_type'  => 'post_type_name',
    'meta_query' => array(
        'relation' => 'AND',
        'sortbyclicks' => array(
            'key'     => 'sort-by-clicks',
            'compare' => 'EXISTS',
        ),
        'othervalue' => array(
            'key'     => 'other-value',
            'compare' => 'EXISTS',
        ), 
    ),
    'orderby' => array(
        'othervalue' => 'DESC',        
    ),
);

$loop = new WP_Query( $args );

谢谢!