今天有位小伙伴在群中询问wordpress程序新用户注册显示密码的问题,由于wordpress程序默认的是不让用户自己去填写密码的,而是系统自动给用户生成一个密码并且发送到用户邮箱,相对来说可能有些用户会不习惯,今天小V就来教大家优化wordpress程序的用户注册体验,让用户自己设置账户密码,其实很简单只需要在主题的function.php加上以下代码:
<?php
add_action( 'register_form', 'v7v3_show_register' );
function v7v3_show_register(){
?>
<p>
<label for="password">密码:<br/>
<input id="password" class="input" type="password" tabindex="30" size="25" value="" name="password" />
</label>
</p>
<p>
<label for="repeat_password">确认密码<br/>
<input id="repeat_password" class="input" type="password" tabindex="40" size="25" value="" name="repeat_password" />
</label>
</p>
<p>
<label for="are_you_human" style="font-size:11px">挖掘机技术哪家强?(蓝翔)<br/>
<input id="are_you_human" class="input" type="text" tabindex="40" size="25" value="" name="are_you_human" />
</label>
</p>
<?php
}
add_action( 'register_post', 'ts_check_extra_register_fields', 10, 3 );
function ts_check_extra_register_fields($login, $email, $errors) {
if ( $_POST['password'] !== $_POST['repeat_password'] ) {
$errors->add( 'passwords_not_matched', "<strong>ERROR</strong>: 两次密码不一致" );
}
if ( strlen( $_POST['password'] ) < 8 ) {
$errors->add( 'password_too_short', "<strong>ERROR</strong>: 密码长度小于8位!" );
}
if ( $_POST['are_you_human'] !== '蓝翔' ) {
$errors->add( 'not_human', "<strong>ERROR</strong>: 回答错误,请重新填写注册信息!" );
}
}
为了保证不被注册机骚扰此代码中还自带了一个验证问题字段,防止注册机批量注册垃圾用户。虽然让用户可以自己填写密码,但是有些用户更加喜欢让系统为他生成密码,为了给这些用户提供方便,我们可以判断下当前用户注册时是否填了密码,如果没填再让系统生成一个,代码如下:
add_action( 'user_register', 'v7v3_register_extra_pass', 100 );
function v7v3_register_extra_pass( $user_id ){
$userdata = array();
$userdata['ID'] = $user_id;
if ( $_POST['password'] !== '' ) {
$userdata['user_pass'] = $_POST['password'];
}
$new_user_id = wp_update_user( $userdata );
}
当然为了给用户更好的体验,我们可以在注册框下方加个提示,代码如下:
add_filter( 'gettext', 'v7v3_edit_text' );
function v7v3_edit_text( $text ) {
if ( $text == 'A password will be e-mailed to you.' ) {
$text = '如果您不填写密码,系统将为您生成一个密码, 并发送至您的邮箱。';
}
return $text;
}

说点什么吧
- 全部评论(0)
还没有评论,快来抢沙发吧!
文章标签:
随机推荐
- wordpress网站搬家 中文名称的图片不显示
- WordPress教程:添加彩色标签云
- WordPress首页指定或排除某分类文章显示
- 解决wordpress通过mb_strimwidth截取内容摘要出现乱
- WordPress教程:文章/页面外链自动添加nofollow属性
- 替换 WordPress 4.2 中的 Emoji 资源调用
- 站外调用WordPress网页模板最新文章的方法
- WordPress文章发布按钮添加确认对话框的方法
- 让主题显示WordPress后台添加的ICP备案号
- wordpress教程:禁用RSS Feed防止rss采集
- WordPress 评论通过审核后邮件通知评论人
- wordpress用户账户信息更新、重置密码或账户被删
- WordPress最新中文版官方下载地址
- WordPress 获取文章的评论人数
- WordPress给分类目录和页面添加斜杠的方法
- wordpress网站前后台访问慢解决办法
相关文章推荐
-
1
WordPress游客需要登录才可访问网站【免插件实现】
我们首先进行第一步:自定义函数 在当前主题的function.php中添加如下代码 /*判断用户是否登录*/ function liveme_if_login() { if (!is_user_logged_in()) { auth_redirect(); } } 在接着进行第...2020-07-03 13:57:32阅读数 230标签:WordPress,游客,需要,登录,才可,访问,网站,【, -
2
wordpress伪静态规则支持中文标签httpd.ini
请将以下代码另存为httpd.ini存放在网站的web目录中,即可生效。(只适用于windows主机) 第一种 支持中文标签以及中文分类 [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 Repeat...2019-10-18 11:01:47阅读数 109标签:wordpress,静态,规则,支持,中文,标签,httpd -
3
WordPress最新中文版官方下载地址
......2019-10-12 10:44:47阅读数 139标签:WordPress,最新,中文版,官方,下载,地址,Word -
4
WordPressDUX主题模板设置教程说明
安装DUX主题: 方法1:进入网站后台(一般是:域名/wp-admin),点击左侧菜单中的外观,然后点击主题,右侧会有添加按钮,点击上传主题并选择你要安装的主题压缩包。...2019-09-30 20:59:37阅读数 277标签:WordPressDUX,主题,模板,设置,教程,说明,安装 -
5
WordPress主题插件翻译汉化教程三种方法请看这篇文章
看教程之前请先看集源码老李啰嗦两句:很多朋友第一次接触Poedit汉化软件进行WordPress主题或者插件汉化的时候 天真的以为是 直接软件打开文件就 自动全部翻译成中文了...2019-09-28 20:50:29阅读数 172标签:WordPress,主题,插件,翻译,汉化,教程,三种,方法 -
6
WordPress安全设置之?author =1能获取管理员用户名最新解决方法
WordPress的默认状态登录用户名是直接对外显示的,这里的安全隐患就是发布文章用户名就是默认后台登录名可能会被穷举暴力破解密码。有的主题虽然不显示发布人,不过...2019-09-17 12:02:19阅读数 159标签:WordPress,安全,置之,author,获取,管理员, -
7
WordPress 获取文章的评论人数
前些天,倡萌和恒创科技联合举办了一次踢楼活动(详见),活动结束后要统计此次参与踢楼的用户数量,也就是要统计提交了评论的用户数,在网上搜索了一下,发现...2020-05-13 14:58:01阅读数 123标签:WordPress,获取,文章,评论,人数,前些天,倡萌,恒 -
8
WordPress 评论通过审核后邮件通知评论人
为了有效控制垃圾评论,倡萌建议大家在后台 设置 - 讨论 中,设置一下评论必须审核后才显示, 但是这样设置以后,一旦评论通过审核了,是没有邮件通知评论人的,今...2020-05-13 15:02:34阅读数 163标签:WordPress,评论,通过,审核,邮件,通知,评论人,为