'.$error.'';
}
if (!is_user_logged_in()) { ?>
您已登陆成功!';
}
?>
当前位置: /">首页 >
很早以前写过一篇WordPress前台登录页面功能实现(非插件),是关于自定义注册页面的教程,最近看到有朋友问到“有了注册功能 还有登陆功能有吗”,答案是肯定的,下面Csyor就把本站的登陆页面功能的实现代码放出来,希望能够给与各位一点点帮助。
预览效果:http://www.csyor.com/login (登陆以后不会出现登陆页面)
友情提示:以下代码是本站使用,只提供对应登陆功能页面的实现,可能会不符合各位站点的主题风格,请自行修改该,谢谢。
代码不会被执行 exit; } $redirect_to = sanitize_user( $_REQUEST['redirect_to'] ); if( !empty($_POST['csyor_login']) ) { $error = ''; $sanitized_user_login = sanitize_user( $_POST['user_login'] ); $rememberme = $_POST['rememberme']?true:false; $user_pass = $_POST['user_pass'] ; $comment_aaa = ( isset($_POST['aaa']) ) ? trim($_POST['aaa']) : '0'; $comment_bbb = ( isset($_POST['bbb']) ) ? trim($_POST['bbb']) : '0'; $comment_subab = ( isset($_POST['subab']) ) ? trim($_POST['subab']) : '0'; global $wp_hasher; if ( $sanitized_user_login == '' ) { $error .= '错误:请输入您的登陆账号。
'; }elseif ( !username_exists( $sanitized_user_login ) ) { $error .= '错误:该用户名不存在,赶紧注册一个吧。
'; }elseif($user_pass == ''){ $error .= '错误:请输入您的登录密码。
'; }elseif(((int)$comment_subab)!=(((int)$comment_aaa)+((int)$comment_bbb))){ $error .= '错误:请输入正确的验证数字。
'; }elseif ( empty($wp_hasher) ) { require_once( './wp-includes/class-phpass.php'); $wp_hasher = new PasswordHash(8, TRUE); $pass = get_user_pass($sanitized_user_login); $data = $wp_hasher->CheckPassword($user_pass,$pass); if($data){ $user = get_userdatabylogin($sanitized_user_login); $user_id = $user->ID; // 自动登录 wp_set_current_user($user_id, $user_login); wp_set_auth_cookie($user_id,$rememberme); do_action('wp_login', $user_login); wp_safe_redirect( $redirect_to ); }else{ $error .= '错误:登陆账号和密码不匹配。
'; } } } ?>当前位置: /">首页 >'.$error.''; } if (!is_user_logged_in()) { ?> 您已登陆成功!'; } ?>
上述代码中使用到了一个自定义get_user_pass函数,作用是根据用户名获得用户密码,请自行添加到functions.php文件的之间任意位置。get_user_pass函数如下:
//根据用户名获得用户密码 function get_user_pass($user=''){ $user="'".$user."'"; global $wpdb; $user_pass = $wpdb->get_col("SELECT user_pass FROM $wpdb->users WHERE user_login = $user ORDER BY ID"); foreach($user_pass as $pass){ return $pass; } }