0
我正在使用自定義的WordPress主題,我用jQuery創建了一個slideDown效果,當點擊時顯示登錄和註冊表單。我嘗試創建一種體驗,即用戶在登錄或註冊時不會離開此頁面,而是最初向下滑動的div,向上滑動並且按鈕文本更改爲登錄用戶的名稱。沒有頁面刷新的WordPress的登錄
當我點擊登錄時,div向上滑動,但似乎系統無法識別登錄的用戶。
<script type="text/javascript">
$(document).ready(function(){
$(".btn-slide").click(function(){
$("#slide-panel").slideToggle("slow");
});
});
</script>
<script type="text/javascript">
$('.error').hide();
$(".button").click(function() {
// validate and process form here
var name = $("input#log").val();
if (name == "") {
$("label#error").show();
$("input#log").focus();
return false;
}
var dataString = $("#wp_login_form").serialize();
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>",
data: dataString,
success: function() {
$("#slide-panel").slideToggle("slow");
$(".slide").html("Hello");
}
});
return false;
});
</script>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="slide-panel"><!--SLIDE PANEL STARTS-->
<div class="loginform">
<div class="loginformdetails equalheight"><h2>Member Login</h2>
<div class="formrow">
<label class="error" id="error">Please complete the entire form.</label>
</div>
<?php
global $user_ID;
if($_POST){
//We shall SQL escape all inputs
$username = $wpdb->escape($_REQUEST['log']);
$password = $wpdb->escape($_REQUEST['pwd']);
$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);
if (is_wp_error($user_verify)) {
echo $user_verify->get_error_message();
exit();
} else {
echo "<script type='text/javascript'>window.location='". get_bloginfo('url') ."'</script>";
$user_info = get_userdata($user_ID);
?>
<div class="loginform">
<h2>Control Panel</h2><ul>
<li><a href="<?php echo get_option('home'); ?>/wp-admin/">Dashboard</a></li> |
<li><a href="<?php echo wp_logout_url(get_bloginfo('url')); ?>" title="Logout">Logout</a></li></ul>
</div><!--loginform ends-->
<?php exit();
}
} else {
?>
<form id="wp_login_form" action="" method="post">
<div class="formrow">
<div class="formLabel"><label for="log">Email </label></div>
<div class="forminput"><input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="25" /></div>
</div>
<div class="formrow">
<div class="formLabel"><label for="pwd">Password </label></div>
<div class="forminput"><input type="password" name="pwd" id="pwd" size="25" /></div>
</div>
<div class="formrow lowercase">
<label for="rememberme">
<input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label>
</div>
<div class="formrow">
<div class="formLabel"><input type="submit" name="submit" value="Login" class="button" /></div>
</div>
<div class="formrow">
<div class="forminput lowercase"><a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">Forgot password?</a></div>
</div>
</form>
<?php } ?>
</div>
</div><!--loginform ends-->
你應該查看這個插件的代碼http://wordpress.org/extend/plugins/ajax-login/ – Anagio 2013-02-25 22:36:56