Как сделать фильтр по произвольному полю типа объект записи?

Как сделать фильтр по произвольному полю (ACF) типа объект записи?
На сайте реализованы произвольные типы записей - "сотрудники" и "работы"
через плагин ACF создана группа полей для типа записей "работы", содержащая поле типа объект записи - "сотрудник"
это поле нужно для связи работ и сотрудников (То есть при создании записи типа "работы" я выбираю сотрудника к которому принадлежит работа)
на странице сотрудника хочу реализовать листинг работ, которые принадлежат ему.
Сделал так - не работает(
$args = array(
     'post_type' => 'raboty',
     'meta_key' => 'sotr_work', 
     'nopaging' => '1'
);
$query = new WP_Query($args);
if( $query->have_posts() ){
     while( $query->have_posts() ){
          $query->the_post();
          /* ... */


Как сделать так чтобы на странице сотрудника выводились только его работы?
  • Вопрос задан
  • 308 просмотров
Пригласить эксперта
Ответы на вопрос 2
Palych_tw
@Palych_tw
Типа веб-разработчик
У вас в запросе не указано значение, по которому вы ищите. Смотрите в доках как пишется meta_query https://wp-kama.ru/function/wp_query

$args = array(
     'post_type' => 'raboty',
    'meta_query' => array(
		array(
			'key' => 'sotr_work',
			'value' => //значение кастомного поля
		),
	)
     'nopaging' => '1'
);


Но а вообще лучше отношения делать таксономиями.

UDP. В доки ACF тож можно заглянуть. Есть Пример как ваш https://www.advancedcustomfields.com/resources/que...

$doctors = get_posts(array(
							'post_type' => 'doctor',
							'meta_query' => array(
								array(
									'key' => 'location', // name of custom field
									'value' => '"' . get_the_ID() . '"', // matches exaclty "123", not just 123. This prevents a match for "1234"
									'compare' => 'LIKE'
								)
							)
						));


Насколько я понял, Ваше поле с отношением, должно возвращать Post ID, а не Post Object, ведь в качестве значения для поиска указывается ID
Ответ написан
Комментировать
azerphoenix
@azerphoenix
Java Software Engineer
Вдруг поможет:
https://www.smashingmagazine.com/2016/03/advanced-...

Сам планирую на неделе нечто подобное реализовать...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы