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