Eu só estou me perguntando por que o wordpress não envia e-mails de confirmação toda vez que o usuário altera seu endereço de e-mail.
Como sabemos que o endereço de email não é falso ou digitado incorretamente?
Então, alguém pode me dar algum trecho para implementar essa função?
Atualizar:
Aqui está a ideia.
- usuário altera seu e-mail
- Enviamos um email de confirmação.
- Se o usuário confirmar esse email em X dias, clicando no link de confirmação, o email deverá ser alterado. Caso contrário, devemos usar o email existente.
Respostas:
Como o SickHippie postou, essa funcionalidade é nativa do WordPress, mas apenas para uma configuração multissite, e aqui estão as duas funções necessárias para que isso funcione em uma única configuração de site, que é basicamente o código um por um do núcleo
/wp-admin/user-edit.php file
fonte
Este é um 'recurso' estranho. A função está realmente disponível no WordPress (o WordPress.com ativou o serviço de blog gerenciado), mas está restrita a vários sites. Se você olhar,
/wp-admin/includes/ms.php
encontrará a função que lida com isso - linha 239send_confirmation_on_profile_email()
.Presumivelmente, você pode mover essa função para o functions.php ou para um plug-in para obter essa funcionalidade, possivelmente com alguns ajustes para fazê-la funcionar corretamente. Ele não responde o "porquê", mas também o tíquete trac sobre esse assunto aqui .
ETA: Analisando mais a fundo, existem algumas outras funções que você pode precisar duplicar também -
new_user_email_admin_notice()
eupdate_option_new_admin_email()
saltar conforme potencialmente necessário.fonte
A resposta de Giri não funcionou para mim. Eu tive que ajustar o meu para fazê-lo funcionar (Wordpress 3.5)
fonte
Alterei o código Giri para que funcione no meu wordpress (versão 4.8.1+)
antes:
depois de:
A vírgula precisa substituir o período.
Além disso:
passou a ser
Portanto:
Felicidades.
fonte