键/值不存在的 WordPress 元查询



我的自定义帖子类型订单有一个元键'状态'。一个帖子可以有多种状态,例如已订购、已付款、已完成。

我想查询所有未支付的订单。这些没有状态/付费的元键/值对。

我可以查询所有已付款的订单...

array(
'key' => 'status',
'value' => 'paid',
'compare' => '=='
)

。它有效

但是当我尝试查询所有未支付的订单时...

array(
'key' => 'status',
'value' => 'paid',
'compare' => '!='
)

。WordPress还返回具有状态/付费对的帖子,因为它们也有状态/有序对,返回true。

有没有办法获取没有特定meta_key/meta_value对的帖子?还是我应该使用 wpdb(( 编写自己的查询?

亲切问候汤姆

meta_query可以接受多个数组,你能做到吗:

'meta_query' => array(
    array(
        'key' => 'status',
        'value' => 'paid',
        'compare' => '!=',
        //'compare' => 'NOT EXISTS', //Perhaps this instead?
    ),
    array(
        'key' => 'status',
        'value' => 'ordered',
        'compare' => '!=',
    )
)

虽然阅读您的问题,但听起来您几乎想要status:ordered=true正确的结果?

最新更新