• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

WP Bitz

A curated collection of code snippets for WordPress

  • Home
  • About
  • Blog
  • Code Snippets
You are here: Home / Code Snippets / Validate user registration email with Proofy.io API

Validate user registration email with Proofy.io API

October 24, 2022

This post brought to you by RocketGeek, ButlerBlog, and the following:

 

/**
 * 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);

Chad Butler

Primary Sidebar

Join for free!

Get free code snippets, WordPress best practices, and practical Content Marketing advice from seasoned WordPress expert Chad Butler (butlerblog):

Recent Posts

  • Bitnami WordPress Autoptimize cannot write to the cache directory
  • Create and delete WordPress sites in XAMPP with a batch file
  • How to fix “Error: MySQL Shutdown Unexpectedly” in XAMPP control panel
  • Fix missing Customizer in WordPress 6
  • Use Proofy.io API to validate WordPress registrations

Copyright © 2023 · Maker Pro on Genesis Framework · WordPress · Log in