另一个Wordpress日期范围问题

时间:2017-09-29 15:47:32

标签: php wordpress date advanced-custom-fields

这里的大多数解决方案都假设您为每个帖子分配了一个“日期”自定义字段(在本例中为“事件”),但是我有两个字段 - “from”和“to”字段每个事件。

要求

事件可以跨越多个日期,因此每个事件上的两个字段(使用ACF创建)。前端的日历控件允许用户选择日期范围。

我尝试了什么

$args = array( 
    'posts_per_page'        => get_option('posts_per_page'), 
    'paged'                 => $paged, 
    'post_type'             => 'event',
    'order'                 => 'ASC',
    'meta_query' => array(
        array(
            'key' => 'to_date',
            'value' => date("ymd"), 
            'compare' => '>=',
            'type' => 'NUMERIC'
        )
    ),
    'orderby' => 'meta_value_num', 
    'meta_key' => 'from_date', 
);

我认为这很接近,但我没有收到任何帖子。有什么想法吗?

编辑:

我还尝试了列出here的解决方案,虽然这非常接近工作,但如果事件日期跨越以下日期(例如)

2017年9月25日 至 2017年9月30日

用户将网站上的日期过滤器设置为以下内容:

2017年9月27日 至 2017年9月30日

然后上面的事件不会显示。只有当用户选择“从”日期到25日(事件的开始日期)之前,它才会显示。我要求用户能够过滤和显示事件,即使它们已经在用户选择的“从”日期之前的某个日期开始,如果这有意义的话吗?

1 个答案:

答案 0 :(得分:0)

date_query替换为'date_query' => array( array( 'after' => array( 'year' => $from['year'], 'month' => $from['month'], 'day' => $from['day'], ), 'before' => array( 'year' => $to['year'], 'month' => $to['month'], 'day' => $to['day'], ), 'inclusive' => true, ), ),

FriendModel
相关问题