WordPress поиск постов по месяцам и годам

У меня есть форма поиска со следующими полями:

  • поисковый ввод
  • выпадающий номер месяца с именем "monthnum"
  • год выпадающий под названием "год"
  • сортировать по выпадающему

Это мой wp_query

$args = array (
              's' => (!empty($_REQUEST["search"])?$_REQUEST["search"]:''),
              'post_type' => 'post',
              'post_status' =>'publish',
              'cat' => 5,
              'posts_per_page' => 9,
              'paged'                  => $paged,
              'monthnum' =>(!empty($_GET["monthnum"])?$_GET["monthnum"]:''),
              'year' => (!empty($_GET["year"])?$_GET["year"]:''),
              'orderby' =>(!empty($_GET["orderby"])?$_GET["orderby"]:'date'),
              'order' => (!empty($_GET["order"])?$_GET["order"]:'DSCE'),
            );

когда я выбираю месяц и год, я получаю 404 Not Found, и конец URL выглядит следующим образом

?search=&monthnum=10&year=2016

когда я жестко кодирую месяц и год в wp_query, он работает и отображает правильный пост
так почему это не работает, когда я передаю месяц и год через URL?
и как я могу позволить пользователю искать пост по месяцам и годам?

2 ответа

Поле 'monthnum' принимает значения int, которые вы не можете передать ''. попробуйте этот код -

$args = array (
          's' => (!empty($_REQUEST["search"])?$_REQUEST["search"]:''),
          'post_type' => 'post',
          'post_status' =>'publish',
          'cat' => 5,
          'posts_per_page' => 9,
          'paged' => $paged,
          (!empty($_GET["monthnum"])?'monthnum' =>$_GET["monthnum"].',':''
          (!empty($_GET["year"]))?'year' => $_GET["year"].',':''
          'orderby' =>(!empty($_GET["orderby"])?$_GET["orderby"]:'date'),
          'order' =>(!empty($_GET["order"])?$_GET["order"]:'DSCE'),
        );

О, у меня была такая же проблема, я думаю, для меня это решило месяц и год, зарезервированные термины для параметров. Если вы измените их на что-то другое, это должно решить эту проблему. Я знаю, что это старый пост, но, возможно, он поможет кому-то еще.

Другие вопросы по тегам