我正在寻找最短最有效的重新排序(不是mysql查询)
来计算有2个元键的帖子数量<;--如果它们存在
我在codex上找到了这个简单的方法,但它检查的是值,而不是键。
此外,它也不会检查键是否存在,而这正是我所需要的,因为我事先不知道值是什么
The example query i found in the codex looks like this:
$args = array(
\'post_type\' => \'somepostype\',
\'meta_query\' => array(
array(
\'key\' => \'fname\'.$userid,
\'value\' => \'WHATEVER\',
),
array(
\'key\' => \'lname\'.$userid,
\'value\' => \'WHATEVER\',
)
)
);
$query = new WP_Query( $args );
return $tempquery->found_posts;
所以。。。如何将“whatever”值转换为非绑定值,因为我只需要检查它是否有任何值,即密钥是否存在。。。
最合适的回答,由SO网友:s_ha_dum 整理而成
Check the Codex. meta_query
接受EXISTS
比较
$args = array(
\'post_type\' => \'somepostype\',
\'meta_query\' => array(
array(
\'key\' => \'fname\'.$userid,
\'compare\' => \'EXISTS\',
),
array(
\'key\' => \'lname\'.$userid,
\'compare\' => \'EXISTS\',
)
)
);
$query = new WP_Query( $args );
return $tempquery->found_posts;
有一个注释是。。。
注意:由于bug#23268,需要值NOT EXISTS
比较以正确工作。必须为value参数提供一些字符串-注意:空字符串或NULL无效。但是,任何其他字符串都可以做到这一点,并且在使用时不会显示在SQL中NOT EXISTS
.
听起来好像EXISTS
未生效,但我尚未对此进行测试。但是,您可能需要添加占位符value
如果这仍然不起作用。