Как сделать такой фильтр ( wordpress + acf )?
Если не использовать плагины, то +1 к ответу id_baton4eg, но с поправкой: вместо get_posts() лучше WP_Query - больше свободы и контроля.
А вообще, если уж слать ajax'ом, то есть REST API. Пилим свой REST контроллер, и получаем на выходе json - быстрее, удобнее для javascript на фронте.
Но, есть один важный нюанс - такие запросы будут нормально грузить бекенд. Поэтому, для таких задач существует такая штука как Elastic Search (и аналоги). Для него же есть и WP-плагин ElasticPress. Скорость такой связки - космос по сравнению со стандартным REST API даже. Ну и гибкость.
я бы сделал так:
1) создаем форму с нужными инпутами
2) обрабатываем её через ajax, отправляем post запрос к get_posts()
3) получаем ответ, вставляем его html в нужном месте.