ACF-запрос для настраиваемого поля в отношении - PullRequest
1 голос
/ 06 февраля 2020

Существует пользовательский тип записи, называемый «события», и другой тип записи, называемый «места проведения». Тип записи «события» имеет поле отношения для «мест», чтобы пользователь мог выбрать место при настройке события.

«место» имеет настраиваемое текстовое поле «город».

Мне нужно теперь искать все события, которые находятся в определенном c городе. С meta_query это не работает, результаты всегда пусты:

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

Как мне найти все события, в которых город подключенного объекта равен «Нью-Йорк»? Большое спасибо!

1 Ответ

2 голосов
/ 07 февраля 2020

Сначала получите ваши места из нужного города ...

$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);
...