WordPress自定义用户注册页面插件

[复制链接]
670 0
admin 发表于 2021-10-16 09:50:20 | 只看该作者 |只看大图 |阅读模式 打印 上一主题 下一主题
如果您是想添加前台注册功能,可以参考:WordPress添加前台注册功能

如果您需要用户注册时填写手机号,可以用这个插件:Ludou Phone Register

[2021年5月26日更新]
* 4.0版 删除了验证码

如果你的WordPress开放后台注册的话,可能会遇到一个问题,那就是发送email的问题。用户注册时使用Email给他发送密码的目的是验证用户输入的Email的有效性,但是如果你的主机不支持发送Email,那么其他人就无法在你的WordPress站点注册。之前也有很多教程教你如何解决这个问题,解决方法是修改WordPress的源文件,让用户注册后直接给他显示密码,而不是给他发送Email,这样问题是解决了,但是每次WordPress升级后,又要重新修改,以现在WordPress的升级速度也够你受得了!

现在我写了一个WordPress插件,通过修改后台的注册表单,让用户注册时自行填写密码,不用去Email接收密码,管理员也不用担心WordPress升级后带来的影响,同时这个插件支持用户自行选择他需要注册的用户角色。具体演示见下图 :
WordPress自定义用户注册页面插件,三色源码网
插件使用
下载插件压缩包,解压后上传至WordPress插件目录下,即/wp-content/plugins/,到WordPress后台激活插件Ludou Custom User Register即可,你的后台注册表单就已经像上图的一样了。该插件只针对WordPress单站点,开启多站点功能,本插件无效。

如果你想让用户注册成功后自动登录,并跳转到指定页面,可以参考这篇文章:WordPress用户注册成功后跳转到指定页面

本段内容针对1.0版本有效--->> 如果你是个"插件控",总想将插件数量控制在一定范围内,但是又需要插件的功能,那就用文本编辑器打开ludou-custom-register.php,将里面的php代码全部复制到主题目录下的functions.php即可,实现的功能是完全一样的(现在你应该醒悟,那些所谓的 "免插件实现**功能" 以及 "纯代码实现**功能",其实就是插件)。

这个插件支持用户注册时选择自己的角色,可选订阅者和投稿者,如果你不想让用户注册时选择身份,请用文本编辑器打开ludou-custom-register.php,搜索并删除以下代码:

<label>用户身份:
<select name="user_role" id="user_role">
<option value="subscriber" <?php="" if($_post['user_role']="=" 'subscriber')="" echo="" 'selected="selected" ';?="">>订阅者</option>
<option value="contributor" <?php="" if($_post['user_role']="=" 'contributor')="" echo="" 'selected="selected" ';?="">>投稿者</option>
</select>
</label>
再删除以下PHP代码:

if($_POST['user_role'] != 'contributor' && $_POST['user_role'] != 'subscriber')
$errors->add('role_error', "<strong>错误</strong>:不存在的用户身份");



$userdata['role'] = $_POST['user_role'];
2.0版本添加了验证码功能,增强了反恶意注册的功能。如果你不需要这个功能,可以用文本编辑器打开ludou-custom-register.php,删除以下代码:

<label>验证码:
<input id="CAPTCHA" style="width:110px;*float:left;" class="input" type="text" tabindex="24" size="10" value="" name="captcha_code">
看不清?<a href="javascript:void(0)" lcr_plugin_url");="" ?="">/captcha/captcha.php?'+Math.random();document.getElementById('CAPTCHA').focus();return false;">点击更换</a>
</label>
以及以下代码:

if(empty($_POST['captcha_code'])
|| empty($_SESSION['ludou_lcr_secretword'])
|| (trim(strtolower($_POST['captcha_code'])) != $_SESSION['ludou_lcr_secretword'])
) {
$errors->add('captcha_spam', "<strong>错误</strong>:验证码不正确");
}
unset($_SESSION['ludou_lcr_secretword']);
同时删除整个captcha文件夹。

如果出现,点击注册后等待很长时间没反应,最后出现504错误,可以检查一下主机的邮件功能是否可以正常使用,具体见:韩世麟网友的留言。

2.0以后版本可以参考2.0版的代码进行修改或删除。

更新记录
1.0版本 2011年03月25日
* 首个版本

2.0版本 2011年04月25日
* 去除注册后首次登陆,要求修改默认密码的提示
* 添加验证码功能,增强防恶意注册能力
* 改进了部分HTML代码

2.0.1版本 2011年05月24日
* 改进了部分HTML和PHP代码
* 添加了部分代码注释

2.0.3版本 2012年09月22日
* 2.0.1版不带验证码和选择用户角色的版本,没有验证码同样可以防恶意注册功能
* 第90行代码中的60,为前后两次注册的时间间隔秒数,用于防恶意注册,可酌情修改

2.1.1版本 2013年01月27日
* 2.0.1版基础上增加了用户注册时,须填写昵称的功能
* 验证码改为5-6位的随机字母,改善用户体验

3.0版本 2015年12月29日
* WordPress 4.4中,解决中文用户名注册成功后,数据库users表中user_nicename一栏为空的问题

== 2017年4月5日 ==
* 所有版本均已去除 "密码将通过电子邮件发送给您" 和 "注册成功!请查收邮件" 字样,避免对注册用户的误导!

== 2017年9月16日 ==
* 所有版本添加了防CSRF跨站攻击代码

== 2017年9月16日 ==
* 因前几个版本使用的验证码无法适用新环境,删除了验证码
请点击此处下载

请先注册会员后再进行下载

已注册会员,请先登录后下载

网盘密码:lwoe 
下载次数:0  文件大小:网盘资源  售价:30 下载币
下载权限: 不限 



收藏
收藏0
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子7576

发布主题
一周下载排行最近7x24小时热帖
专注源码资源免费分享
只要有下载币全站均可下

私人收藏网站非买卖网站

周一至周日9:00-23:00

反馈建议

282865654@qq.com 在线QQ咨询

赞助我们享尊贵分享

Powered by X3.3© 2019-2029 3se.cc Inc.( 京ICP备14050279号-2