Так что просто для ясности, у вас есть account.php (обычный файл php), который при отправке ссылается на какой-то другой файл php, который выполняет update_account (), а затем возвращается в account.php, у вас есть код, приведенный выше?
Для решения этой проблемы было бы полезно больше кода, если он слишком большой?
Вы не можете обработать данные $ _POST в functions.php, не передавая данные в качестве параметрафункция, так как вы на самом деле не отправляете сообщения на functions.php.
У меня такое ощущение, что ваше сообщение об ошибке php отключено.Добавить в error_reporting (E_ALL);чтобы убедиться.
Если account.php не является шаблоном страницы, вам необходимо включить wp_blog_header.php (из корня вашей установки wp), чтобы WordPress действительно загружался и знал, что вы имеете в виду с помощьюпользовательские функции и wp_error и все.
РЕДАКТИРОВАТЬ: понял, что functions.php загружается в любом случае на каждой странице, извините.