目的:
减少垃圾注册:限制某些免费邮箱服务商的邮箱注册可以有效减少垃圾邮件发送者和自动注册机器人的介入,这类账户通常用于发布垃圾信息、恶意链接或进行其他类型的滥用。
把代码放在主题根目录下的functions.php文件中即可:
//限制指定邮箱后缀才能注册网站
/**
* 检查注册表单提交时的电子邮件地址是否符合要求
* 检查注册表单提交时的电子邮件地址是否符合要求
*
* @param WP_Error $errors WordPress 错误对象,用于添加错误消息
* @param string $sanitized_user_login 经过处理的用户名
* @param string $user_email 用户输入的电子邮件地址
*
* @return WP_Error 返回错误对象,如果通过验证则为空
*/
function restrict_email_domain( $errors, $sanitized_user_login, $user_email ) {
$allowed_domains = array( 'qq.com' ); // 仅允许这些电子邮件后缀,多个邮箱格式:array( 'qq.com', 'yahoo.com' );
$email_domain = substr( $user_email, strpos( $user_email, '@' ) + 1 ); // 获取电子邮件地址中的域名部分
if ( ! in_array( $email_domain, $allowed_domains ) ) {
// 提示用户支持的电子邮件地址列表
$supported_domains = implode( ', ', $allowed_domains );
$errors->add( 'email_error', sprintf( __( '<strong>错误</strong>: 您必须使用允许的电子邮件地址注册。支持的电子邮件地址为:%s。' ), $supported_domains ) );
}
return $errors;
}
// 注册过滤器以在注册表单提交时运行函数
add_filter( 'registration_errors', 'restrict_email_domain', 10, 3 );