Найти сообщения в соответствующей области таксономии

У меня есть «проекты» (настраиваемый тип сообщений), со многими настраиваемыми полями (созданными через ACF), один из которых связывает проект с «художником» (пользовательская таксономия).

Наконец, у меня есть «продукты», которые также используют пользовательскую таксономию «художник».

На странице продукта я хотел бы получить последний «проект», который был связан с тем же художником.

Вот код, который, я считаю, должен работать, но он возвращает пустой массив (он должен вернуть три проекта).

$projects = get_posts(array( 'post_type' => 'project', 'meta_query' => array( array( 'key' => 'artist', // name of custom field 'value' => '"' . $artist->term_id . '"', 'compare' => 'LIKE' ) ) )); 

Я дважды проверил, что $ artist-> term_id возвращает правильное значение: это так.

Solutions Collecting From Web of "Найти сообщения в соответствующей области таксономии"

Вы просматриваете сериализованные данные. Я имею в виду, что artist из 'key' => 'artist' сериализуется. Вот почему ваш мета-запрос не работает. Итак, вот мое возможное решение –

 $projects = get_posts(array( 'post_type' => 'project', 'meta_query' => array( array( 'key' => 'artist', // name of custom field 'value' => '"%' . $artist->term_id . '%"', 'compare' => 'LIKE' ) ) )); 

С этими дикими картами % на обеих сторонах вашего $artist->term_id будет работать, я думаю.