我們要給主題創(chuàng)建一個(gè)自定義登錄頁(yè)面,讓用戶(hù)不需通過(guò)wordpress程序默認(rèn)的登錄頁(yè)面登錄后臺(tái)。wordpress主題自定義登錄頁(yè)面在一定程序上,也能提升一個(gè)wordpress主題折層次,比如一些要求相對(duì)較高的商業(yè)主題。嗯,下面就一起來(lái)看一下怎么制作wordpress自定義登錄頁(yè)面吧。
首先在主題文件夾下創(chuàng)建一個(gè)登錄文件page-login.php,用dreamweaver打開(kāi)這個(gè)文件,添加頁(yè)面定義代碼:
/*
Template Name: 登陸頁(yè)面
*/
然后,添加判斷用戶(hù)是否登錄代碼:
global $wpdb,$user_ID;
if (!$user_ID) { //判斷用戶(hù)是否登錄
//接下來(lái)的代碼都添加在這里
}else { //跳轉(zhuǎn)到首頁(yè)
echo "window.location='". get_bloginfo('url') ."'";
}
接著添加驗(yàn)證數(shù)據(jù)代碼,如下:
if($_POST){ //數(shù)據(jù)提交
//We shall SQL escape all inputs
$username = $wpdb->escape($_REQUEST['username']);
$password = $wpdb->escape($_REQUEST['password']);
$remember = $wpdb->escape($_REQUEST['rememberme']);
if($remember){
$remember = "true";
} else {
$remember = "false";
}
$login_data = array();
$login_data['user_login'] = $username;
$login_data['user_password'] = $password;
$login_data['remember'] = $remember;
$user_verify = wp_signon( $login_data, false );
//wp_signon 是wordpress自帶的函數(shù),通過(guò)用戶(hù)信息來(lái)授權(quán)用戶(hù)(登陸),可記住用戶(hù)名
if ( is_wp_error($user_verify) ) {
echo "用戶(hù)名或密碼錯(cuò)誤,請(qǐng)重試!";//不管啥錯(cuò)誤都輸出這個(gè)信息
exit();
} else { //登陸成功則跳轉(zhuǎn)到首頁(yè)(ajax提交所以需要用js來(lái)跳轉(zhuǎn))
echo "window.location='". get_bloginfo('url') ."'";
exit();
}
} else {
//這里添加登錄表單代碼
}
然后,在上面的代碼中的“ //這里添加登錄表單代碼”添加如下代碼:
get_header();//載入頭部文件
?>
$("#submitbtn").click(function() {
var input_data = $('#wp_login_form').serialize();
$.ajax({
type: "POST",
url: "",
data: input_data,
success: function(msg){
$('.loader').remove();
$('
}
});
return false;
});
get_footer(); //載入底部文件
表單代碼一定要放在最后一個(gè)大括號(hào)前面哦。好了,這樣我們就制作好了wordpress自定義登錄頁(yè)面。