使用META_QUERY查询日期不在将来的POST

时间:2019-01-30 作者:Ludo

在我的args中,我想exclude datum\\u事件所在的立柱not in the future. 目前,它仅显示具有过去的datum\\u事件值的立柱,但由于旧立柱没有任何datum\\u事件值,因此不会显示旧立柱。

我知道如何与单个值进行比较,但如何与所有未来日期进行比较?

基本上:排除带有datum_event compare 将来

$args = array(
    \'post_type\' => \'agenda\',
    \'paged\' => $paged,
    \'meta_query\' => array(
        array(
            \'key\'     => \'datum_event\',
            \'value\'   => date(\'Ymd\'),
            \'compare\' => \'<=\'
        )
    ),
);

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

您可以尝试添加第二个meta\\u查询,该查询将查找没有meta键的任何内容:

$args = array(
    \'post_type\' => \'agenda\',
    \'paged\' => $paged,
    \'meta_query\' => array(
        \'relation\' => \'OR\',
        array(
            \'key\'     => \'datum_event\',
            \'value\'   => date(\'Ymd\'),
            \'compare\' => \'<=\'
        ),
        array(
            \'key\' => \'datum_event\',
            \'meta_compare\' => \'NOT_EXISTS\',
            \'value\' => \'placeholder\'
        ),
    ),
);
请注意,占位符的值是使“不存在”工作所必需的-请参阅https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters

这是未经测试的代码,但希望能有所帮助!

相关推荐

我可以在没有MySQL数据库的情况下恢复我的网站页面吗?

我不小心删除了mySQL数据库,我没有办法恢复数据库。我仍然有所有的文件,如wp管理,wp内容,wp配置。php等等。如果我创建一个包含所有空白页面的新网站。有没有一种简单的方法可以从我拥有的文件中恢复我以前的页面?