У меня есть список настраиваемых типов сообщений, и я пытаюсь реализовать на нем поисковую форму. Форма поиска просто отправит запросы URL, которые будут перехвачены той же страницей, и в зависимости от этих запросов (таких как name = "..", order = ".." и т. Д.) Список настраиваемых типов сообщений будет представлять эти характеристики.
Я особенно застрял с реализацией аргументов для WP_Query, которые позволят мне искать в метаданных для каждого настраиваемого типа сообщения. Вот структура моей строки $ args (которая вызывается print_r - это не будет отображать точный синтаксис, который я использовал, поскольку он смешан с довольно небольшой логикой, но это дает хорошее представление о том, как интерпретируются мои аргументы):
[post_type] => obituary
[post_per_page] => 25
[meta_query] => Array
(
[relation] => OR
[0] => Array
(
[meta_key] => last_name
[meta_value] => Green
)
[1] => Array
(
[meta_key] => first_name
[meta_value] => Green
)
)
Если я удалю массив ключей [meta_query] [0] (так что массив, определяющий значение, будет выглядеть как last_name (следовательно, поиск будет выполняться только под одним ключом метаданных), то запрос будет работать нормально. Я подумал о добавлении ключа отношения и значения ИЛИ Чтобы найти meta_value, нужно использовать мета-ключи last_name ИЛИ first_name. Однако, похоже, это не работает, запрос по-прежнему возвращает полный список настраиваемых типов сообщений.
Поскольку я новичок в этом, есть ли что-то вопиющее, что мне не хватает? Я просмотрел документы, которые смог найти, и это, я думаю, должно сработать.
Что ты думаешь?
Изменить: исправление к вышеизложенному: поиск только с одним meta_key будет работать, только если он определен за пределами meta_query.