Я использую плагин Search and Filter Pro для получения результатов поиска на основе различных мета и таксономий поста, я не полностью использую весь интерфейс плагина, только его собственный подход к запросу:
https://searchandfilter.com/documentation/search-results/custom/
Я прикрепил поиск и фильтр к WP_Query
, и эта часть выглядит следующим образом:
$premium_args = array(
"s" => $_GET['q'],
'posts_per_page' => 20,
'paged' => 1,
'post_type' => array( 'contactdirectory'),
'orderby' => 'title',
'order' => 'ASC',
);
$premium_args['search_filter_id'] = 166;
И в плагине я установил для 'Полевые отношения:' значение AND
для этого поиска иЭкземпляр фильтра.
Однако это не работает должным образом, вот пример:
https://indiadairy.com/?s=&p_type=cd&_sft_Industries=equipment-manufacturers&_sfm_state=Maharashtra
_sft_Industries=equipment-manufacturers
есть, а затем _sfm_state=Maharashtra
, но в результатах поиска вы можетесм., что есть результаты, которые имеют другое значение для Industries
таксономии, как Dairy Plants
и 'NGO', тогда как он должен возвращать только те результаты, которые соответствуют значению, переданному обоим параметрам.
Я попытался добавить
'meta_query' => array(
'relation' => 'AND',
)
Это не работает, что я ожидал, так как это для мета-запросов, передаваемых вручную в аргументах WP_Query
.