0

我觉得我非常接近这个,但查询一直显示为空。基本上,我试图查询两个日期之间的自定义值。如果开始日期小于当前日期并且结束日期大于或等于当前日期

        $args = array(
        'taxonomy' => 'exhibition_type', 
        'term' => 'faculty',
        'numberposts' => 10,
        'post_type' => 'exhibitions',
        'meta_key' => 'start_date_of_event',
        'meta_query' => array(
            'relation' => 'AND',
                array(
                    'key' => 'start_date_of_event',
                    'value' => $current,
                    'compare' => '<'
                ),
                array(
                    'key' => 'end_event_date',
                    'value' => $current,
                    'compare' => '>='
                )
            ),
        'order_by' => 'meta_value_num',
        'order' => 'ASC',
        'paged' =>  $paged
    );

继续出现 0 个结果 :'( 我现在陷入困境。任何帮助将不胜感激。

4

2 回答 2

1

这是可能的。我输入了错误的数据:D

这是工作代码:

   $args = array(
    'taxonomy' => 'exhibition_type', 
    'term' => 'faculty',
    'numberposts' => 10,
    'post_type' => 'exhibitions',
    'meta_key' => 'start_date_of_event',
    'meta_query' => array(
        'relation' => 'AND',
            array(
                'key' => 'start_date_of_event',
                'value' => $current,
                'compare' => '<'
            ),
            array(
                'key' => 'end_date_of_event',
                'value' => $current,
                'compare' => '>='
            )
        ),
    'order_by' => 'meta_value_num',
    'order' => 'ASC',
    'paged' =>  $paged
);

此代码使用两个元值(start_date_of_event 和 end_date_of_event)并将其与当前日期( $current = date('Ymd'); )进行比较。希望这对其他人有帮助。:D

于 2012-09-07T21:34:17.793 回答
0

如果我理解你,我想这就是你的答案,

if(strtotime($args['meta_query'][0]['key']) > strtotime($args['meta_query'][1]['key'])){
     //do stuff here
}
于 2012-08-30T14:42:33.303 回答