如何查询meta_key是否存在?

时间:2015-01-15 作者:melvnberd

您好,我正在尝试否定我的查询,以显示所有内容,除了带有文件库自定义字段的帖子。

    \'meta_query\' => array(
                array(\'key\' => \'file_gallery\', \'value\' => \'1\', \'compare\' => \'!=\')
                )
因为并非所有帖子都有此键,而且我的查询似乎只适用于那些“file\\u gallery”字段值为0或1的帖子。谢谢:)

1 个回复
最合适的回答,由SO网友:bonger 整理而成

添加NOT EXISTS 条款应生效LEFT JOINs:

    \'meta_query\' => array(
        \'relation\' => \'OR\',
        array(\'key\' => \'file_gallery\', \'value\' => \'1\', \'compare\' => \'!=\'),
        array(\'key\' => \'file_gallery\', \'compare\' => \'NOT EXISTS\'),
    ),

结束

相关推荐

添加到数组并通过do_action/Apply_Filters传递它

作为练习,我正在使用PHPclass to add meta boxes 我在GitHub上找到了。我只是复制了代码,现在我正在玩它来理解它。其工作原理如下:包含该类的文件包含在init中。在该文件内部,但在类外部,有一个空数组$meta_boxes 已初始化之后,使用apply_filters. 我猜是apply_filters 使用而不是do_action 因为后者不返回任何内容——$meta_boxes = apply_filters( \'cmb_meta_boxes\', $meta_boxes