Wordpress: динамический запрос для таксономий

У меня есть форма поиска, состоящая из нескольких "избранных", в которых перечислены различные термины таксономии ("Состояние"). Нажимая кнопку отправки, я передаю информацию на страницу результатов поиска, на которой строю запрос.

Проблема в том, что мне нужно создавать запрос динамически, потому что не обязательно выбирать значения для каждого из «select». Таким образом, некоторые значения отправляются пустыми.

Например:

$country = $_POST["country"];
$city = $_POST["city"];

Если $ city пусто, запрос должен быть таким:

$my_query = new WP_Query(array(
    'state' => $country
    )
);

Но если $ country и $ city не пустые, запрос должен выглядеть так:

$my_query = new WP_Query(array(
    'state' => $country,
    'state' => $city
    )
);

Как я могу это сделать?

Спасибо.


person Markus    schedule 09.06.2012    source источник


Ответы (1)


Я бы сделал это:

$city = isset($_POST['city']) ? $_POST['city'] : null;
$country = isset($_POST['country']) ? (isset($_POST['city']) ? ' ('. $_POST['country'] .')' : $_POST['country']) : null;

$state = $city . $country;

Этот код покажет:

  • Город и страна заполнены: Каракас (Венесуэла)
  • Единственный город: Каракас
  • Только страна: Венесуэла

И ваш запрос:

$my_query = new WP_Query(array(
        'state' => $state,
    )
);
person Dario Ferrer    schedule 23.06.2012