如果你的WordPress开放后台注册的话,可能会遇到一个问题,那就是发送email的问题。用户注册时使用Email给他发送密码的目的是验证用户输入的Email的有效性,但是如果你的主机不支持发送Email,那么其他人就无法在你的WordPress站点注册。之前也有很多教程教你如何解决这个问题,解决方法是修改WordPress的源文件,让用户注册后直接给他显示密码,而不是给他发送Email,这样问题是解决了,但是每次WordPress升级后,又要重新修改,以现在WordPress的升级速度也够你受得了!
现在我写了一个WordPress插件,通过修改后台的注册表单,让用户注册时自行填写密码,不用去Email接收密码,管理员也不用担心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,搜索并删除以下代码:
- <p>
- <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>
- </p>
再删除以下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,删除以下代码:
- <p>
- <label>验证码:<br />
- <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)” onclick=“document.getElementById(‘captcha_img’).src='<?php echo constant(“LCR_PLUGIN_URL“); ?>/captcha/captcha.php?’+Math.random();document.getElementById(‘CAPTCHA’).focus();return false;”>点击更换</a>
- </label>
- </p>
以及以下代码:
- if(emptyempty($_POST[‘captcha_code’])
- || emptyempty($_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错误,可以检查一下主机的邮件功能是否可以正常使用,
加群入久伴博客官方微信群
加入久伴官方微信群有啥优势?
1.文章内部资源由于时间久远可能失效,加群,群内可以第一时间反馈
2.网站中教程不一定适用任何人,加群可以第一时间咨询并解决您得疑惑
3.你游荡于互联网,也需要群体,加群一起互动交流,畅所欲言
扫描下方二维码即可加入交流讨论

的啊123sdw daw
可以的好东西
真的很像知道。
666教教