是否有一种方法可以验证在注册表单(最终成员)中输入的电子邮件,并且在注册或编写电子邮件时,一个函数向带有电子邮件的API发出请求并验证它是否存在,如果它存在则允许您注册,但如果它不存在则无法注册?
非常感谢您的支持。
使用此过滤器获取认证后的用户电子邮件:
add_filter('wp_authenticate_user','func_auth_signon',10,2);
function func_auth_signon($user, $password) {
if ( is_a( $user, 'WP_User' ) {
$email = $user->user_email;
//check if email exist in API
if(!is_email_exist($email))
//else logout user
wp_logout();
}
return $user;
}
检查api中是否存在用户邮箱
function is_email_exist($email){
$url = 'YOUR API URL'
$ch = curl_init($url);
// Set the result output to be a string.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
if(curl_error($ch)) {
return false;
}
curl_close($ch);
if($data) return true;
return false;
}