Максим Призов, get_template_directory() это стандартная функция в вордпрессе, она у вас недоступна в functions.php? что-то вы определенно делаете не правильно
lasthero67, Здесь не совсем уместно "подойдет". Всё зависит от вашего api,приходящего результата, бизнес задачи и тд и тп. Если вас при коде ответа 200 всё всегда будет устраивать, при всех других нет - пожалуйста, проверяйте код ответа.
Как получить код ответа можете посмотреть тут
Перед file_put_contents и проверяйте что у вас там в $data и соответствует ли оно тому что вам нужно записать. Вообще обычно api вместе с данными в ответе отдаёт статус результата, можно проверять его.
MaikMain, в общих чертах всё довольно просто, у вас 2 сценария, добавление пользователем и с админки, поле recaptha у вас есть только для сценария первого, для второго его не будет - не будет ошибки при проверке