SO网友:Frank P. Walentynowicz
要求
在设置->常规中,必须选中任何人都可以注册的框。在注册表的“电子邮件”字段中输入的电子邮件地址必须具有等于“uniname”的电子邮件域。ac.uk
电子邮件地址验证要验证电子邮件地址,我们可以使用“registration\\u errors”(注册错误)过滤器挂钩。
代码
在函数中插入以下代码。活动主题(子主题,如果存在)的php:
function wpse_check_email_domain($errors, $sanitized_user_login, $user_email) {
$start = strpos(strtolower($user_email), \'@uniname.ac.uk\');
if(!$start)
$errors->add(\'ERROR\', \'Only users with "@uniname.ac.uk" email domain can register!\');
return $errors;
}
add_filter(\'registration_errors\', \'wpse_check_email_domain\', 10, 3);
将其作为必用插件使用上述代码与主题无关。在函数中使用它。php,仅用于测试。测试后,将其从功能中删除。创建一个php脚本(例如domain check.php),将代码放入其中(不要忘记
<?php
作为第一行),并将此脚本保存在“wp-content/mu-plugins”文件夹中。
解释
提交注册表后,将触发挂钩“registration\\u errors”。将执行回调函数“wpse\\u check\\u email\\u domain”,如果email domain不正确,将返回错误。错误消息将出现在注册表上。如果没有错误,注册过程将继续。