Intereting Posts
Как мы можем отключить страницу архива персонализированного типа сообщений, но включить его? Как добавить полоску визуального редактора поверх комментариев textarea Отображение формы для фильтрации в листинге пользовательского типа Постоянная ссылка на местоположение Как использовать относительные ссылки на моих страницах? Случай по умолчанию с использованием shortcode Функция, которая возвращает true, когда автор является определенной ролью is_author (admin)? Фильтрация по страницам Блокировать несколько категорий из блога Значение выводится вне эха Удалить фильтр типа post, добавленный плагином в окончательный запрос Только Front-end обрабатывает запросы $ _POST и $ _POST в плагине WordPress. Установите роль использования в woocommerce, если у пользователя есть определенный адрес электронной почты Пользовательские почтовые адреса Пользовательский тип сообщения появляется в цикле, регулярные сообщения не отображаются

Фильтрация сообщений по настраиваемому значению поля не работает

У меня есть пользовательский тип сообщения, называемый «Местоположение», с настраиваемым полем «Город». У меня также есть таксономии по этому типу сообщений под названием Specialties. Фильтр специальности отлично работает с tax_query , но я не могу tax_query настраиваемое поле для фильтрации.

Это не работает, и ни то, ни другое, что я пытался:

 $args = array('post_type' => 'location', 'tax_query' => array( array( 'taxonomy' => 'specialties', 'field' => 'slug', 'terms' => $specialty, )), 'meta_query' => array(array('city' => $location,'compare' => '=',)) ); 

Solutions Collecting From Web of "Фильтрация сообщений по настраиваемому значению поля не работает"

'meta_query' неверно: оно должно быть:

 'meta_query' => array( array( 'key' => 'city', 'value' => $location, 'compare' => '=', ) ); 

В любом случае вам не нужно использовать 'meta_query' в этом случае, когда вам нужно отфильтровать только одно мета-поле … Итак, для немного более оптимизированного кода попробуйте заменить ваши $args следующим:

 $args = array( 'post_type' => 'location', 'tax_query' => array( array( 'taxonomy' => 'specialties', 'field' => 'slug', 'terms' => $specialty, ) ), 'meta_key' => 'city', 'meta_value'=> $location, );