Поднять чистый WP.
Установить плагин "SimpleFields" (https://wordpress.org/plugins/simple-fields/) (документация: simple-fields.com/documentation).
Написать собственный плагин, который инициализирует новый post-type "Объект недвижимости" и taxonomy "Район", где объект недвижимости будет зданием (в здании может быть множество квартир или помещений).
Через "SimpleFields" создать набор полей для объектов недвижимости: "название дома (input)", "координаты местонахождения (input)", "количество этажей (1-20, list)", "тип строения (панель/кирпич/пеноблок, radio)", "изображение", мульти-блок-полей "помещение" где будут такие поля как "площадь (input)", "кол.комнат (1-10, radio)", "балкон (да/нет, radio)", "санузел (да/нет, radio)", "изображение".
В single-page здания должны выводиться все эти заполненные аттрибуты и прочее.
В плагине добавить инициализацию shortcode и widget, который при вставке на фронте должен отобразить блок фильтра (со всем полями) по объектам недвижимости и их помещений. При операции поиска ниже блока фильтра средствами Ajax должен выводиться список из 10 найденых позиций с постраничным выводом. Каждая позиция может быть как зданием или помещением с изображением, заголовком и коротким описанием, ес-но с сылкой перехода на страницу здания.