Мне нужно создать собственный расширенный поиск для моего wp-сайта.Я должен показать результаты поиска в cpt (search-home.php).В моей форме много полей, содержащих разные мета значения.Я знаю, что должен использовать pre_get_posts
, но я не могу использовать это хорошо.Данные полей формы отправляются методом get, и мне нужно отфильтровать wp-запрос, используя pre_get_posts
, но не все поля обязательны для заполнения, поэтому они могут не отправляться.
$query->set( 'meta_query', array(
'relation' => 'OR',
array(
'key' => 'name',
'value' => $_GET['name']
),
array(
'key' => 'family',
'value' => $_GET['family']
)
) );
Во-первых, мне нужно отфильтровать pre_get_posts
в моем CPT (search-home.php страница).Во-вторых, мне нужно отфильтровать запрос wp по значениям $_GET
.Проблема в том, что когда значение не отправляется методом get в URL (например, в семействе), wp-запрос возвращает нулевые значения, в то время как мне нужно показать сообщение по вышедшей мета (например, по имени), количество полей велико, потому чтоиз этого я не могу использовать isset
для проверки значений.Пожалуйста, помогите мне спасибо.