У меня есть форма входа в WordPress, работающая в интерфейсе моего сайта, чтобы мои пользователи могли входить в систему, не посещая wp-login.php или не покидая «тему» или сайт.
Если вы зайдете 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
Буду признателен, если кто-нибудь сможет опубликовать рабочее решение