使用DATE_QUERY获取下一个事件

时间:2015-03-31 作者:marcelo2605

我创建了一个名为event的CPT,并希望根据它的发布日期进行查询以显示下一个将来的事件。

这是WP_Query 参数:

$today = getdate();
$args = array(
    \'post_status\' => array(\'publish\', \'future\'),
    \'post_type\' => \'event\',
    \'orderby\' => \'date\',
    \'order\' => \'ASC\',
    \'posts_per_page\' => 1,
    \'date_query\' =>
        array(
            array(
                \'year\'  => $today[\'year\'],
                \'compare\'   => \'>=\',
            ),
            array(
                \'month\' => $today[\'mon\'],
                \'compare\' => \'>=\',
            ),
            array(
                \'day\' => $today[\'mday\'],
                \'compare\' => \'>=\',
            )
        )
);
当当月有活动时,工作正常。但现在,下一个活动是在四月,脚本没有显示任何内容。

SOLUTION

$args = array(
    \'post_status\' => array(\'publish\', \'future\'),
    \'post_type\' => \'event\',
    \'orderby\' => \'date\',
    \'order\' => \'ASC\',
    \'posts_per_page\' => 1,
    \'date_query\' =>
        array(
            \'after\' => \'today\'
        )
);

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

如果不运行这个查询,我不确定会产生哪个查询,但我认为这不是这种查询的预期格式。

如果你看看Date Parameters 文档中,有一种特殊情况afterbefore 当您想从特定点在某个方向上查找帖子时。

结束

相关推荐

在每个管理请求上运行的WP_GET_UPDATE_Data()函数

在WordPress构建的一个特定实例中,管理速度非常慢,在使用Query Monitor插件检查出问题后,我注意到每当您单击管理面板时,WordPress都会运行大量(约15)HTTP请求。这些请求都是从wp_get_update_data() 函数,该函数用于获取插件版本,以检查本地插件是否是最新的。这里的问题是每个请求都会运行此函数,这是一个很大的性能问题。我以前构建的数百个WordPress实例上从未出现过这种情况,有人知道这里可能存在什么问题吗?