У вас три нормальных варианта:
- Сделать табы. Т.е. делаете запрос, перед выводом записей проверяете дату события и разделяете по табам на этапе сборки html
- Для записей делаете классы .future и .past и при клике сортируете на js. Есть нормальная библиотека mixitup
- Ajax-запрос. Это посложнее предыдущих. При клике посылаете запрос на сервер, получаете ответ, перестраиваете контент. Тут подробнее как работает ajax в WordPress