将搜索查询限制在特定日期之后

时间:2017-05-28 作者:Dev

此代码无效

add_filter( \'pre_get_posts\', \'search_filter\' );
function search_filter($query) {

if ( ! is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {

$query->set( array( \'date_query\' => array(
        array(
            \'after\'     => \'January 1st, 2013\',
            \'inclusive\' => true,
        ) ) ) );
    }

    }
}
我想删除2013年1月1日之前的所有结果,因此只有2013年1月1日之后的帖子才会显示在结果中。

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

请注意这一有问题的行:

$query->set( array( \'date_query\' => array(
应该是这样的

$query->set( \'date_query\', array(
因此,请尝试以下形式:

$query->set( \'date_query\', 
    [
        [
            \'after\'     => \'January 1st, 2013\',
            \'inclusive\' => true,
        ]
    ] 
);

结束

相关推荐