ACF 查询相关的自定义字段

ACF query for custom field in relation

有一个名为 "events" 的自定义 post 类型和另一个名为 "venues" 的 post 类型。 post 类型 "events" 有一个 "venues" 的关系字段,以便用户在设置事件时可以 select 场地。

"venue" 有一个自定义文本字段 "city"。

我现在需要搜索特定城市中的所有事件。使用 meta_query 它不起作用,结果总是空的:

$query->set('meta_query', array(
    array(
        'key'       => 'city',
        'value'     => 'New York',
        'compare'   => 'LIKE', 
    ),
));

如何找到连接场地的城市等于 "New York" 的所有活动? 非常感谢!

首先从所需的城市获取场地...

$args = array(
    'posts_per_page'    => -1,
    'fields' => 'ids',
    'post_type'        => 'venues',
    'meta_query'    => array(
       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(
           array(
            'key'       => 'venues',
            'value'     => $venues_ids,
            'compare'   => 'IN', 
           )
        ),
    );
    $events = get_posts($args);