Вы же можете создать форму через Advanced custom fields вывести ее во фронт-энде. А чтобы пользователь мог добавлять свои поля используйте flexible content (если подразумевается, что нужно добавлять разные поля) или repeater (если нужны однотипные поля). А дальше просто добавьте кнопку-обработчик, которая отправит форму или выполнит нужную вам ф-цию