[这是一种自定义帖子类型,称为“事件”,另一种帖子类型称为“地点”。帖子类型“事件”具有“地点”的关系字段,以便用户在设置事件时可以选择地点。
“地点”具有自定义文本字段“城市”。
我现在需要搜索特定城市中的所有事件。使用meta_query无效,结果始终为空:
$query->set('meta_query', array(
array(
'key' => 'city',
'value' => 'New York',
'compare' => 'LIKE',
),
));
我如何找到所连接场地的城市等于“纽约”的所有事件?非常感谢!
首先从所需城市获得场地...
$args = array(
'posts_per_page' => -1,
'fields' => 'ids',
'post_type' => 'venues',
'meta_query' => array(
'key' => 'city',
'value' => '"New York"',
'compare' => 'LIKE',
),
);
$venues_ids = get_posts($args);
然后从匹配的场地查询您的活动
$args = array(
'posts_per_page' => -1,
'post_type' => 'events',
'meta_query' => array(
'key' => 'venues',
'value' => $venues_ids,
'compare' => 'IN',
),
);
$events = get_posts($args);