私は、自分のウェブサイトのフロントエンドでWordPressのログインフォームを使用しているので、ユーザーはwp-login.phpにアクセスしたり、「テーマ」やウェブサイトを離れなくてもログインできます。jQueryポップアップのWordPressログイン - jQuery Ajaxでログインを検証するにはどうすればいいですか?
http://westendmediacentre.com/devに行ってログインをクリックすると、フォームがjQueryポップアップ内に表示されていることがわかります。
フォームコード:
<div class="login-form">
<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" value="Username<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" class="login-fields" onclick="this.value='';" onblur="this.value=!this.value?'Username':this.value;"/>
<input type="password" name="pwd" id="pwd" value="Password" size="20" class="login-fields" onclick="this.value='';" onblur="this.value=!this.value?'Password':this.value;"/>
<input type="submit" name="submit" value="Login" class="login-button" />
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
</form>
</div>
のjQuery:
$('.button-login').click(function() {
$('.login-box').fadeIn('slow', function() {
// Animation complete
});
$(".login-box").css({'z-index' : '10000'});
$("#the-lights").css({'display' : 'block'});
$("#the-lights").css({'z-index' : '1'});
$("#the-lights").fadeTo("slow",0.7);
});
$('.login-box-close').click(function() {
$('.login-box').fadeOut('fast', function() {
// Animation complete
});
$("#the-lights").fadeTo("slow",0);
$("#the-lights").css({'display' : 'none'});
});
これは完璧に動作しますが、いくつかの悪い資格情報を使用してログインしようとした場合、しかし、あなたが再取得、このための私のコードは次のようですあなたにエラーを与えるWordPressページに導かれます。
jQueryのポップアップ内にこれらのエラーが表示されるので、悪い認証情報でログインしようとすると、別のページにリダイレクトするのではなく、フォームの上または下にエラーメッセージが表示されます。ページにエラーが表示されます。 http://www.tutorialstag.com/custom-wordpress-login-without-using-a-plugin.html
お願い申し上げ誰かが作業溶液
あなたのログインはAjax経由でポストしていません。 login.phpへの投稿だけ。参照されるチュートリアルは、ajaxを使用してログインをポストする正しい方法です。 –
私はチュートリアルを使用しようとすると、空白のページで正しく動作させることができます。しかし、既存のコードと統合しようとすると、問題が発生します。ログインすると、jQueryポップアップ内の結果全体ではなく、結果のdiv内のページ全体がリロードされます。私が必要とするのは、エラーが発生したときに、結果のdivにその旨が記載され、ページがリダイレクトされるときです。どうやってやるの? –
この質問はhttp://wordpress.stackexchange.com/に行ってください。 –