На мой взгляд простым решением будет:
В search.php шаблоне(если нет его, надо создать) в основном цикле while данные складывать в массив, группируя по нужным критериям(новости, события).
Как создать условия группировки это вопрос к структуре вашего сайта, какие типы постов, таксономии есть. В массив сразу добавлять необходимые данные записей - заголовки, ссылки и т.д.
Далее через цикл вывести уже сгруппированные данные в шаблон.
Тут есть вопрос как сделать пагинацию правильно. Я бы ограничил результат поиска в какое то количество записей, например 100. И выводил бы все на 1 странице. Это самый простой вариант.
Вариантов много как реализовать.