Поиск по нескольким настраиваемым полям с помощью мета-запроса
Я пытаюсь создать список результатов поиска для пользовательского типа записи, и проблема, с которой я сталкиваюсь, заключается в том, как параметр "meta_query" связывает переданные значения вместе. Похоже, что он рассматривает каждое значение "meta_query" как "И", а не "ИЛИ". Вот код, который я использую:
$strsearch = 'lorem';
$args = array(
'post_type' => 'products',
'meta_query' => array(
array('key' => '_product_make','compare' => 'LIKE','value' => $strsearch),
array('key' => '_product_model','compare' => 'LIKE','value' => $strsearch)
)
,'s' => $strsearch);
$resource_query = new WP_Query($args);
Когда я ищу любое из полей по отдельности, я получаю желаемые результаты. Когда я использую их вместе, он появляется как не найденный, так как строка, которую я поиск может выполняться только в одном из трех полей, перечисленных ниже. Есть ли какой-либо способ, чтобы "мета_запрос" обрабатывал каждое из переданных сравнений полей как "ИЛИ"?
5
Author: hereswhatidid, 2011-03-31
1 answers
Да, начиная с WP 3.2 вы можете задать аргумент "отношение":
'meta_query' => array(
'relation' => 'OR',
array('key' => '_product_make','compare' => 'LIKE','value' => $strsearch),
array('key' => '_product_model','compare' => 'LIKE','value' => $strsearch)
)
8
Author: scribu, 2011-06-30 11:09:34