上一篇文章我们已经完成了用户的激活,这还没完,还差一步。
在注册后,不去激活,我们直接去登陆,我们发现,居然能登陆,那还激活个屁啊!
为了让用户注册后必须激活才能使用,我们需要对登陆的用户进行跳转。
wordpress里有个is_user_logged_in()这个函数用来判断用户是否已登录。同样的我们也构造一个is_user_status_in()函数用来判断用户是否已激活。
- 打开网站根目录下\wp-includes\pluggable.php文件增加如下代码:
复制
//激活返回1,未激活返回0 if ( !function_exists('is_user_status_in') ) : function is_user_status_in() { global $current_user; get_currentuserinfo(); $con=mysql_connect("localhost", "root", "800820"); if (!$con) { die("数据库连接失败: " . mysql_error()); }else{ mysql_select_db("wp_users",$con); $sql="select * from wp_users where id='".$current_user->ID."'"; $result=mysql_query($sql); while($row=mysql_fetch_array($result)){ $sta=$row['status']; } return $sta; } } endif;
- 到网站后台,创建一个激活页面,页面代码这里就不写了。简单提示用户激活账号,没有收到邮件的,用一个输入框来接收用户的邮箱。
- 打开主题目录下的header.php文件,在<?开头位置加入如下代码:
复制
if (is_user_logged_in()) { // 用户已登录 if (is_user_status_in()==0) { //未激活状态 if(curPageURL()!="http://127.0.0.1/jh/"){ //判断是否是激活页面 header("refresh:0;url=http://127.0.0.1/jh"); //跳转到的激活页面地址 }}}
效果如图:
未激活账号
登录效果
激活后账户
激活后效果
文章到这里就算结束了,需要美化的就靠你们自己了,本人css确实很差,就不献丑了。
本系列教程为代码狗原创,禁止全文转载,转载请注明来源!http://daimadog.org
评论 (1)