按2元字段执行的WP查询-检查它们是否存在/是否有值

时间:2014-03-07 作者:Sagive

我正在寻找最短最有效的重新排序(不是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”值转换为非绑定值,因为我只需要检查它是否有任何值,即密钥是否存在。。。

1 个回复
最合适的回答,由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 如果这仍然不起作用。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post