WordPress 如何限制特定邮箱后缀的用户注册(注册邮箱白名单/黑名单)
要在WordPress中限制以特定邮箱后缀(例如@gmail.com)进行用户注册,可以通过添加自定义代码到您的主题的 functions.php 文件或将代码封装成插件来实现这一功能。下面提供了白名单和黑名单的示例代码,用于检查用户注册时使用的邮箱后缀,并在匹配到指定后缀时阻止或允许注册。

实现代码
我们先提供下实现的代码,氛围白名单和黑名单两种模式,按需选择其中一种即可。
白名单模式代码
/**
* Plugin Name: WordPress 注册邮箱白名单
* Plugin URI: https://www.wpcom.cn/
* Author: WPCOM
* Version: 1.0
* Author URI: https://www.wpcom.cn/
*/
add_filter('registration_errors', function($errors, $login, $email){
/**
* 允许注册的邮箱后缀域名,可在数组里面自定义添加
* 英文逗号分隔,引号也是英文输入状态输入,域名字母小写
*/
$valid_domains = ['gmail.com', 'qq.com'];
$email_domain = strtolower(substr(strrchr($email, "@"), 1));
// 邮箱域名不在白名单列表
if (!in_array($email_domain, $valid_domains)){
// 提示语可自定义替换
$msg = '本站只支持 Gmail和QQ邮箱注册。';
$errors->add('domain_whitelist_error', $msg);
}
return $errors;
}, 10, 3);黑名单模式代码
/**
* Plugin Name: WordPress 注册邮箱黑名单
* Plugin URI: https://www.wpcom.cn/
* Author: WPCOM
* Version: 1.0
* Author URI: https://www.wpcom.cn/
*/
add_filter('registration_errors', function($errors, $login, $email) {
/**
* 不允许注册的邮箱后缀域名,可在数组里面自定义添加
* 英文逗号分隔,引号也是英文输入状态输入,域名字母小写
*/
$restricted_domains = ['gmail.com', 'qq.com'];
$email_domain = strtolower(substr(strrchr($email, "@"), 1));
// 邮箱域名在黑名单列表
if (in_array($email_domain, $restricted_domains)){
// 提示语可自定义替换
$msg = '当前域名后缀邮箱不允许注册。';
$errors->add('domain_blacklist_error', $msg);
}
return $errors;
}, 10, 3);代码部署
代码部署可选择在主题的functions.php 文件最后面插入,也可以新建一个php文件直接复制进入上传到插件目录。
封装成插件部署(推荐)
- 保存为PHP文件:新建一个PHP文件,可使用代码编辑类软件(例如
Visual Studio Code、Sublime Text)或者宝塔面板文件管理器的新建文件,保存为.php后缀文件,这里我们命名为email-domain-check.php; - 添加代码:由于上面的示例代码仅为功能的核心代码,而PHP语法代码是以
<?php开头的,所以需要在上面新建的文件第一行添加代码:<?php,然后从第二行开始把上面的代码复制进文件,最后替换代码里面的邮箱域名以及提示信息等并保存文件; - 上传到插件目录:上传到服务器网站插件目录,一般是网站目录下的
/wp-content/plugins目录,保存后的完整路径:/wp-content/plugins/email-domain-check.php; - 启用插件:进入网站后台
插件启用安装的插件,插件名称为WordPress 注册邮箱白名单或者WordPress 注册邮箱黑名单;
部署到主题functions.php文件
访问您的WordPress网站文件:使用FTP客户端或通过您的网站控制面板(例如宝塔)的文件管理器访问您的WordPress站点文件;
编辑
functions.php文件:找到您当前主题的functions.php文件。这通常位于/wp-content/themes/your-theme-name/目录下,建议使用子主题来进行更改,以避免将来更新主题时丢失自定义代码:如何自定义修改主题而不被新版本覆盖?子主题创建教程;- 添加自定义代码:在
functions.php文件的末尾添加代码,并按自己需求修改代码中的邮箱后缀列表,然后保存文件。
通过上述步骤就可以在WordPress网站上对特定后缀的邮箱地址进行白名单或者黑名单的限制注册了。
相关文档
- 想了解怎么注册中文域名?这些准备要点你必须知道
- WP用户必看!如何让WordPress程序搭建网站更顺手?
- 百度指数免费不再?巧用营销中心试用版,七天一换邮箱继续蹭
- 富宁在线体验:注册繁琐、信息需付费,论坛中介卖房信息多
- 日付网赚联盟靠谱吗?注册前这些要点你必须知道
- WordPress托管空间的关键方面:空间容量等
- CN域名注册:数字时代的关键点和有用信息
- WordPress SEO怎么做?5招让网站流量翻倍+避坑指南
- cn域名注册总踩坑?2025年避坑指南+省50%费用全攻略
- CPA注册联盟怎么玩?选平台、冲收益、避坑指南全解析
- 2025个人与企业注册百度数差异解读:资质要求+功能对比
- 如何解决WordPress后台慢问题?17个不容错过的优化技巧
- 详解WordPress分类目录和Tag标签
- 如何添加WordPress用户注销/退出链接到导航菜单
- wordpress 网站优化,WordPress网站优化代码合集...
- 什么是WordPress:世界上最大的开源CMS系统
- WordPress 和 GPL – 您需要了解的一切
- 9个常见的WordPress用户体验问题及解决这些问题的实用技巧
- 迅睿cms会员登录/注册/退出登录后跳转到指定链接或返回当前页面
- WordPress安装插件的3种方法

