Нужно понять как работает WP_Query. Большинство параметров типа строка, категория и теги - можно втыкать руками и поиск будет работать ок.
В остальных случаях надо добавлять аргументы через хук фильтр query_vars
А далее через хук pre_get_posts - добавлять механику отбора по этим параметрам.
Например можно добавить параметр xxx который мб равен 1 или 2. А далее если 1 то выводит все посты 2017 года, а 2 все посты до 2017 года. Логика указана от балды. Можно любую свою написать.
Когда на уровне URL система будет обучена фильтровать посты по заданным параметрам, тогда можно уже начать писать форму.
Прежде чем ваять свои параметры запроса - надо убедиться что их нет из коробки. С ходу не нашел, но где то видел описание тех параметров которые есть из коробки. Если их хватит, то можно сразу пилить форму, без колдовства со своей логикой запросов.