对于事件发布类型,我具有以下JSON格式
JSON Format
Event Channel Fields
Event Details Fields
我正在尝试过滤所有即将发生的事件(即将来的日期),并将“ Michael Kay”作为event_channel。
以下是我的自定义查询,无法正常工作。问题出在event_channel上,因为它是“渠道”自定义帖子的发布对象。元查询的第二部分不起作用。
<pre>
$today_r = date_i18n('j M Y g:i A');
$today = strtotime($today_r);
$upcoming_events = new WP_QUERY(array(
'post_type' =>'event',
'post_status' => 'publish',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'event_start_date',
'meta_value' => $today,
'meta_compare' => '>=',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'event_start_date',
'value' => $today,
'compare' => '>=',
),
array(
'relation' => 'AND',
'key' => 'event_channel',
array(
'key' => 'post_title',
'value' => 'Michael Kay',
'compare' => 'LIKE',
),
)
),
"posts_per_page" => 6
));
</pre>
答案 0 :(得分:0)
您需要调整$ args数组。您不应将post_title作为元密钥传递。 使用这个:
$upcoming_events = new WP_QUERY(array(
'post_type' =>'event',
'post_status' => 'publish',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'event_start_date',
'meta_value' => $today,
'meta_compare' => '>=',
's' => 'Michael Kay',
"posts_per_page" => 6
));
更新: 这是按ACF子字段对其进行过滤的查询:
$upcoming_events = new WP_QUERY(array(
'post_type' =>'event',
'post_status' => 'publish',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'event_start_date',
'meta_value' => $today,
'meta_compare' => '>=',
'meta_query' => array(
array(
'key' => 'event_channel_0_post_title',
'value' => 'Michael Kay',
'compare' => 'LIKE',
),
)));
要知道您的event_channel_0_post_title键的确切正确名称,请转到PHPMYADMIN-> wp_postmeta表,然后在其中搜索“ Michael Kay”。如果event_channel_0_post_title不正确,您将在此处看到正确的名称。