WordPress WP_Query比较自定义字段

时间:2016-03-22 21:34:13

标签: php wordpress

我正在尝试在WordPress中运行WP_Query以使用自定义字段检索今天之后的帖子。我的密钥_mcd_event_date_end具有以m / d / Y格式存储的值(2016年2月16日)。

$args = array(
'order' => 'DESC',
'posts_per_page' => -1,
'post_type' => 'mcdevent'
'meta_query' => array(
    'relation' => 'AND',
    array(
        'key'     => '_mcd_event_date_end',
        'value'   => date("m/d/Y"), 
        'compare' => '>=',
    ),
    array(
        'key' => '_mcd_event_type',
        'value'   => 'Other Event',
        'compare' => '=',
    ),
),
);
$other_events = new WP_Query($args);
wp_reset_postdata();

这是我正在运行的代码,它适用于今年发布的日期,但不适用于之前的日期。这意味着如果我的帖子_mcd_event_date_end具有类似于2016年4月16日的值,它将会显示,如果它像2016年12月12日那样它将不会显示。但是2015年12月31日之前和之前的任何事情都会出现。

感谢您的帮助,如果我能提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

您应该使用“日期”作为自定义字段类型:

array(
    'key' => '_mcd_event_date_end',
    'value' => date('Y-m-d H:i:s'),
    'compare' => '>=',
    'type' => 'DATE'
),

但我认为数据必须采用“YYYY-MM-DD”格式才能正常工作。

http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters