I like the core ability for users to update their default "Email" field.
For example username1 can edit their own profile and change their "Email" field from [email protected] to [email protected] and click save.
After update, I like that an email that is sent by wordpress core to [email protected] notifying that the change happened in the database. This email is a courtesy of core's "send_email_change_email" function, and i have not tampered with it.
However, I wish that the database update from [email protected] to [email protected] would not happen until a link is clicked in the email that is sent to [email protected] (e.g. the send_email_change_email). In other words, I don't like that username1 has the potential to mistype their desired new email address. I want the additional security layer of requiring [email protected] to accept the change before it happens. This is a standard in some enterprise applications. The confirmation link should expire after use, and after some time.
What are some options for solving this? Thank you community!