В настоящее время мы работаем над сайтом, который был разработан другой студией. Он работает на Wordpress и использует плагин под названием UserPro для управления его участниками (логин, регистрация, профиль и т. Д.)Как добавить белый список домена электронной почты и любые потенциальные поддомены для регистрации wordpress
Хозяева хотят, чтобы сайт имел открытый доступ в целом, но некоторые части были ограничены только членами. Поэтому они хотели, чтобы только пользователи с определенными доменами электронной почты могли зарегистрироваться на веб-сайте. Эта функция работает для доменов и конкретных поддоменов, однако вскоре они узнали, что на субдоменах этого домена может быть бесконечное количество возможностей. Таким образом, они должны разрешить кому-либо из любого потенциального субдомена этого домена электронной почты иметь право регистрироваться на веб-сайте.
Я приложил код ниже, чтобы вы могли видеть, как он работает в данный момент. Я редактировал URL-адреса для конфиденциальности владельцев, но остальная часть кода точно такая же.
case 'email_exists':
if (!is_email($input_value)) {
$output['error'] = __('Please enter a valid email.','userpro');
} else if (email_exists($input_value)) {
$output['error'] = __('Email is taken. Is that you? Try to <a href="#" data- template="login">login</a>','userpro');
}
else if($input_value){
$domain = strstr($input_value, '@');
$domains = array('@test.com' , '@test.net' , '@alpha.test.com' , '@beta.test.net', '@*.test.com', '@*.test.net');
if(!in_array($domain, $domains))
$output['error'] = __('Accounts with this email domain are not currently allowed automatic registration. You can request an account via the contact us page. ','userpro');
}
break;
Чтобы пройти через него. Если у вас есть электронная почта «@ test.com» или «@ test.net», она работает нормально. Если у вас есть адрес электронной почты в одном из указанных поддоменов, например, «@ alpha.test.com» или «@ beta.test.net», он также отлично работает и позволяет регистрироваться.
Однако, если вы хотите зарегистрироваться с другим, например, «@ oscar.test.com» или «@ delta.test.net», он не позволит вам зарегистрироваться.
Я думал, что «@ *. Test.com» позволит работать с любым возможным субдоменом, но это явно не так. По крайней мере, не так, как я это делаю.
Любая помощь по этому вопросу была бы весьма признательна.
С уважением, Адам
в вашем примере домены test.com и newtest.com возвращает тот же результат. – stweb
Yep, была ошибкой в моем коде - обновлена - должна работать по мере необходимости – Steve
Это сработало. Спасибо за ваш быстрый ответ, это было полезно и образовательным. Гораздо проще. Благодарю. –