Tengo el formulario de inicio de sesión de WordPress trabajando en el front-end de mi sitio web, para permitir a mis usuarios iniciar sesión sin tener que visitar el wp-login.php o dejar el "tema" o el sitio web.WordPress Iniciar sesión en jQuery Popup: cómo validar el inicio de sesión con jQuery Ajax?
Si va a http://westendmediacentre.com/dev y hace clic en iniciar sesión, puede ver que tengo el formulario que aparece dentro de una ventana emergente de jQuery. Mi código para esto es la siguiente:
código del formulario:
<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'});
});
Esto funciona perfectamente, sin embargo, si intenta iniciar la sesión con algunas malas credenciales, se obtiene re -dirigido a una página de WordPress que le da el error.
Lo que me gustaría hacer es tener estos errores en mi jQuery popup, de modo que cuando intente iniciar sesión con malas credenciales, aparezca un mensaje de error arriba o debajo del formulario, en lugar de redirigir a otro página con el error que se muestra allí.
He intentado seguir este tutorial, sin embargo, no funciona bien con mi código existente: http://www.tutorialstag.com/custom-wordpress-login-without-using-a-plugin.html
agradecería si alguien podría publicar una solución de trabajo
No estás registrando tu nombre de usuario a través de Ajax. Acaba de publicar en login.php. El tutorial al que se hace referencia es la forma correcta de publicar el inicio de sesión utilizando ajax. –
Cuando intento utilizar el tutorial, en una página en blanco, puedo obtenerlo correctamente. Pero cuando trato de integrarlo con mi código existente, tengo problemas. Al iniciar sesión, vuelve a cargar toda la página dentro de mi jQuery popup en el div "results", en lugar de solo el resultado. Todo lo que necesito es cuando hay un error, lo dice en los resultados div, y cuando es exitoso, para redirigir a una página. ¿Cómo puedo hacer eso? –
esta pregunta debe ir a http://wordpress.stackexchange.com/ –