在wordpress中,我只有publish_date(不是meta_key)和meta_key"end_date";
示例:从2015-06-22(publish_date)到2015-08-24(meta_ket="end_date")的事件
现在我要搜索所有事件
-
(2015-07-05至2015-07-24)
或
-
(2015-08-05至2015-09-25)
并且必须在示例中显示事件
此代码无效:
$opt = array(
'post_type' => 'event_info',
'posts_per_page' => '40',
'paged' => $page_num,
'orderby' => 'post_date ID',
'order' => 'DESC',
'relation' => 'OR',
'meta_query' => array(
'key' => 'end_date',
'value' => array('$date_start','$date_end'),
'compare' => 'BETWEEN',
'type' => 'numeric'),
'date_query' => array(
array(
......
'compare' => 'BETWEEN',
),
),
)
);
元密钥和data_ query之间的关系不起作用,目前的想法是创建2个查询,但我不想这样做
试试这个:在这里,我在startdate和enadate元密钥中添加了时间戳
$chkdt = current_time('timestamp');
$args = array('post_type'=>'event_info', 'post_status' => 'publish','posts_per_page'=>-1,'orderby' => 'ID','order' => 'DESC', 'meta_query' =>
array(
'relation' => 'AND',
/******filter start date and End date****************/
array(
'key' => 'end_date',
'value' => $chkdt,
'compare' => '>=',
'type' => 'NUMERIC',
),
array(
'key' => 'start_date',
'value' => $chkdt,
'compare' => 'NUMERIC',
),
/******END filter start date and End date****************/
),
);