Как говорится в WP комьюнити,
you're doing it wrong :)
wp_signon()
возвращает объет
WP_Error
или
WP_User
(в случае неудачи или успешной авторизации соответственно). Если они вам не нужны в полном виде (а они таки не нужны в 99,99% случаев) - зачем вообще их возвращать? Проверяйте в обработчике, если это
WP_Error
- берите его, вынимайте саму ошибку и отправляйте ее через
wp_send_json_error()
(
дока). Если пришел объект
WP_User
- берите из него что нужно (например,
display_name
) и возвращайте данные через
wp_send_json_success()
(
дока). Для дальнейшей работы с данными пользователя у вас уже будет доступ к объекту
WP_User
через функцию
wp_get_current_user()
(
дока).