В BuddyPress я хочу разрешить регистрироваться и входить в систему, используя только один почтовый домен. Например, xxx@myemaildomain.com восстановить все будет запрещено.
Я проверил в источнике BuddyPress и обнаружил, что BuddyPress использует bp_core_validate_user_signup( $user_name, $user_email )
для регистрации с фильтром
return apply_filters( 'bp_core_validate_user_signup', $result );
Поэтому я попытался использовать фильтр для изменения поля user_email
, как показано в коде ниже. Но это не работает.
function wf_validate_email_domain($result)
{
$email = $result[ 'user_email' ];
// make sure we've got a valid email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// split on @ and return last value of array (the domain)
$domain = array_pop(explode('@', $email));
if ($domain != 'mydomain.com') {
$result[ 'user_email' ] = '';
}
}
return $result;
}
add_filter('bp_core_validate_user_signup', 'wf_validate_email_domain', 9999);
Вопрос:
Как я могу проверить электронную почту, чтобы она позволяла регистрироваться и входить в систему только с одного указанного c почтовый домен?