/**
* Validates email in native WP registration using Proofy.io API.
*
* @param array $errors A WP_Error object containing any errors encountered during registration.
* @param string $sanitized_user_login User's username after it has been sanitized.
* @param string $user_email User's email.
* @return array $errors A WP_Error object containing any errors encountered during registration.
*/
add_filter( 'registration_errors', function( $errors, $sanitized_user_login, $user_email ) {
// Assumes you have initialized the object class as global.
global $proofy;
$result = $proofy->verify( $user_email );
if ( ! is_array( $result ) ) {
$errors->add( 'email_validation', __( 'Email validation could not be completed.', 'your-text-domain' ) );
} else {
if ( 1 != $result['result'][0]['status'] ) {
$errors->add( 'email_validation', __( 'Email is not deliverable or status is unknown.', 'your-text-domain' ) );
}
}
return $errors;
},10, 3);
Validate user registration email with Proofy.io API
This post brought to you by RocketGeek, ButlerBlog, and the following: