CCCPaste Login

e5519d439130e

/**
 * Use user_login as fallback when email is empty or invalid.
 *
 * @since 1.0.0
 *
 * @param string $email_address The email address.
 * @param int    $user_id       The user ID.
 * @return string The email address to use.
 */
function wpf_use_username_as_email_fallback( $email_address, $user_id ) {
    // If email is empty or invalid, try to use username instead
    if ( empty( $email_address ) || ! is_email( $email_address ) ) {
        $user = get_user_by( 'id', $user_id );
        
        if ( $user && ! empty( $user->user_login ) ) {
            // Only use user_login if it looks like an email address
            if ( is_email( $user->user_login ) ) {
                return $user->user_login;
            }
        }
    }
    
    return $email_address;
}
add_filter( 'wpf_get_contact_id_email', 'wpf_use_username_as_email_fallback', 10, 2 );