Com a função PHP email_exists() você verifica se já existe um usuário com um e-mail no WordPress. Veja abaixo um exemplo:

<?php
$email = "nome@dominio.com.br";

$email_existe = email_exists( $email );

if ( $email_existe ) {
	// Exibe as informações de forma que o conteúdo seja traduzível
	printf(
		__( 'O e-mail %s já foi utilizado.', 'danielkossmann' ),
		$email
	);
} else {
	// Exibe as informações de forma que o conteúdo seja traduzível
	printf(
		__( 'O e-mail "%s" NÃO foi utilizado.', 'danielkossmann' ),
		$email
	);
}Code language: PHP (php)

Como criar um formulário para verificar se um e-mail já foi registrado no WordPress com email_exists()

Um possível uso da função PHP email_exists() é verificar se um e-mail já foi registrado a partir de um formulário. Utilizei como base o código que fiz de exemplo para a função PHP username_exists(), veja abaixo como ficou:

<?php
// Verifica se foi enviado algum dado por POST
if ( isset( $_POST ) && !empty( $_POST['email'] ) ) {

	// Trata o valor enviado pelo formulário
	$email = sanitize_email( $_POST['email'] );

	// Verifica se o email existe
	$email_existe = email_exists( $email );

	// Exibe uma mensagem de acordo com a resposta
	if ( $email_existe ) {
		// Exibe as informações de forma que o conteúdo seja traduzível
		printf(
			__( 'O e-mail "%s" já foi utilizado.', 'danielkossmann' ),
			$email
		);
	} else {
		// Exibe as informações de forma que o conteúdo seja traduzível
		printf(
			__( 'O e-mail "%s" NÃO foi utilizado.', 'danielkossmann' ),
			$email
		);
	}
}
?>
<form method="post">
	<input type="text" name="email" placeholder="<?php _e( 'Digite o e-mail do usuário', 'danielkossmann' ); ?>">
	<input type="submit" value="<?php _e( 'Verificar e-mail', 'danielkossmann' ); ?>">
</form>Code language: PHP (php)

Por motivos de segurança você sempre deve tratar os dados recebidos através de formulários, por isso utilizei a função PHP sanitize_email() para remover caracteres inválidos do valor de $_POST['email'].

Aviso importante: Estes códigos foram criados apenas para fins didáticos, por isso nem sempre possuem todas as melhores práticas de segurança e otimizações necessárias. Portando, não me responsabilizo pelo seu uso em qualquer tipo de ambiente ou dou qualquer tipo de garantia para eles. Se você desejar utilizá-los será por sua própria conta e risco.



Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *