两个元键上的WP_Query分别排序

时间:2017-09-21 07:32:22

标签: php mysql wordpress

我偶然发现了一个我似乎无法解决的WordPress查询问题。

我有一个名为产品的自定义帖子类型,它有两个字段priceprice_campaign。有时,price仅设置,有时仅price_campaign。我仍然希望我的最终查询按顺序输出所有产品,按price / price_campaign排序,就好像这两个字段是相同的一样。但我似乎无法做到这一点:

$query->set(
    'meta_query',
    array(
        'relation' => 'AND',
        'price_campaign' => array(
            'key' => 'price_campaign',
            'type' => 'NUMERIC',
            'compare' => 'EXISTS'
        ),
        'price' => array(
            'key' => 'price',
            'type' => 'NUMERIC',
            'compare' => 'EXISTS'
        ),
    )
);

$query->set(
    'orderby',
    array(
        'meta_value_num' => 'ASC',
        'title' => 'ASC'
    )
);

但是,我首先会获得设置price的产品,然后设置price_campaign设置的所有产品。 如果我将其更改为'relation' => 'OR',它们就会以完全随机的顺序排列,价格和标题似乎都不重要。

我真的无法弄清楚问题是什么。有什么想法吗?

0 个答案:

没有答案