Поиск записей, содержащих совпадающие элементы массива, в запросе usign WP в мета-поле
У меня есть метаполе, которое содержит ряд параметров и записывает результаты в массив в одном мета-поле:
array([0]=>'First',
[1]=>'Second',
[2]=>'Third',
);
Я нахожу сообщения, содержащие любой из элементов массива, и отображаю их с помощью WP_Query
$search = new WP_Query('meta_key=mykey&meta_value=second');
Но, похоже, это не работает. Есть идеи, как этого добиться?
Я отредактировал свой метод, следуя этому вопросу:
$arg['meta_key'] == $key;
$args['meta_value'] = "%|".$value."|%";
$custom_query = new WP_Query($args);
Но никаких дротиков.
1
2 answers
Я считаю, что вы должны использовать мета-сравнение, ПОДОБНОЕ. Если вы выполняете обычный мета-запрос, результирующий SQL будет meta_value = your_value, который никогда ничего не найдет, потому что пытается соответствовать всему содержимому поля.
2
Author: Milo, 2011-08-17 17:09:20
Я почти уверен, что верну или выполню поиск в массиве значений (или ключей), которые вам нужно использовать meta_query
Итак, что-то вроде:
$search = array(
'post_type' => 'post',
'meta_query' => array(
array(
'key' => 'mykey',
'value' => 'second',
)
)
);
$query = new WP_Query($search);
1
Author: Wyck, 2011-08-17 15:36:12