Mam formularz logowania WordPress działający na froncie mojej witryny, aby umożliwić moim użytkownikom logowanie bez konieczności odwiedzania wp-login.php lub pozostawienia "tematu" lub strony internetowej.WordPress Zaloguj się w jQuery Popup - Jak sprawdzić logowanie w jQuery Ajax?
Jeśli masz http://westendmediacentre.com/dev i kliknij login, możesz zobaczyć, że mam formularz pojawiający się w oknie popup jQuery. Mój kod to w następujący sposób:
kodu formularza:
<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'});
});
Działa to doskonale, jednak przy próbie logowania z niektórych złych poświadczeń, można dostać się ponownie - jest przekierowywany na stronę WordPress, dając ci błąd.
Co chciałbym zrobić, to te błędy pojawiają się w moim okienku popup jQuery, więc gdy spróbujesz zalogować się ze złymi danymi uwierzytelniającymi, pojawi się komunikat o błędzie powyżej lub pod formularzem, zamiast przekierowania do innego stronę z wyświetlonym tam błędem.
Próbowałem po ten poradnik, ale to nie działa w porządku z moim istniejącego kodu: http://www.tutorialstag.com/custom-wordpress-login-without-using-a-plugin.html
Czy wdzięczni, gdyby ktoś mógł dodawać roztwór roboczy
Twoje konto nie jest wysyłane za pośrednictwem Ajax. Twój wpis do login.php. Wymieniony tutorial jest poprawnym sposobem opublikowania logowania za pomocą ajax. –
Kiedy próbuję użyć samouczka, na pustej stronie, mogę uzyskać poprawne działanie. Ale kiedy próbuję zintegrować go z istniejącym kodem, dostaję problemy. Podczas logowania ponownie ładuje całą stronę w moim okienku jQuery w polu wyników, zamiast tylko wyniku. Wszystko, czego potrzebuję, to gdy pojawia się błąd, mówi to w div wyników, a gdy się uda, przekierować na stronę. Jak mogę to zrobić? –
to pytanie powinno przejść do http://wordpress.stackexchange.com/ –