我已经构建了一个自定义的beaver builder(wordpress)模块。我正在通过Ajax获取帖子。我需要根据ACF自定义字段日期查询帖子。
我用ISO8601格式发布日期(如2013-12-01T00:00:00-05:00)。服务器端,我抓住开始和结束。我将它们转换为ACF查询所需的格式
https://www.advancedcustomfields.com/resources/date-picker/
$start_date = date('Ymd', strtotime($_POST['start']));
$end_date = date('Ymd', strtotime($_POST['end']));
我运行查询,但什么也得不到。我把绳子呼出去,它们看起来是对的。
$_POST['start']
不正确。如何转换ISODATE以便在查询中使用它?
function get_ajax_event_calendar_posts() {
$today = date('Ymd'); // this works...
$args = array(
'post_type' => array('event'),
'meta_query' => array(
array(
'key' => 'start_date',
'compare' => '<=',
'value' => $today,
),
array(
'key' => 'end_date',
'compare' => '>=',
'value' => $today,
)
),
'post_status' => array('publish'),
'posts_per_page' => 100,
'nopaging' => true,
'order' => 'DESC',
'orderby' => 'date'
);
// The Query
$ajaxposts = get_posts( $args );
//... etc
}
.... 约会不是问题。我是个问题。。。把我的比较调到正确的方式,所有的工作。。。