比较wordpress中的两个meta_values

时间:2012-08-30 14:33:58

标签: php wordpress

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

        $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结果:'(我现在陷入困境。任何帮助都会非常感激。

2 个答案:

答案 0 :(得分: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
);

此代码使用两个meta_values(start_date_of_event&amp; end_date_of_event)并将其与当前日期($ current = date('Ymd');)进行比较。希望这有助于其他人。 :d

答案 1 :(得分:0)

如果我理解你,我认为这是你的答案,

if(strtotime($args['meta_query'][0]['key']) > strtotime($args['meta_query'][1]['key'])){
     //do stuff here
}