所有分类
  • 所有分类
  • 其它

WordPress WP_Query使用meta_query里比较大小时compare用>=、<、>、<=不生效的解决办法

最近给客户二次开发任务插件(Erphp Task Pro),需要在任务大厅里加一项用户权限筛选,哪些任务仅限制VIP用户投标,除了每个任务可单独设置是否仅VIP投标外,插件还增加了一项设置就是金额高于多少时仅限VIP投标,所以在进行筛选的时候需要对预算金额进行比较,但是compare用>=时始终不生效,很奇怪。最后,看了官方文档后发现还有一个参数type,设置成numeric后就可以进行比较了。

部分代码如下:

array_push($args['meta_query'], 
array(
'relation' => 'OR',
array('key' => 'task_bid_vip','compare' => '>=','value'=>'1','type' => 'numeric'),
array('key' => 'task_budget_money','compare' => '>=','value'=>get_option('erphp_task_fee2_min'),'type' => 'numeric')
) 
);

 

评论0

社交账号快速登录