Hace unos días Balta, me preguntó como montar un formulario de login en cualquier parte de nuestro blog, para evitar tener que ir a la pantalla de login. Y he pensado que mejor será hacer un post explicando como conseguirlo.
Requisitos
- Un blog (imprescindible)
- Un editor de texto (… recomiendo notepad ++)
Instrucciones
Para comenzar deberemos tener claro donde colocar nuestro formulario de registro, el lugar más lógico suele ser el header o la barra de opciones (sidebar), y si tienes más destreza y quieres vacilar a los colegas, te puedes currar algo tan chulo como Manu en su Dalarnas, con rollo desplegables y todo :D.
Ahora solo necesitamos el formulario, para conseguirlo nos vamos a la página wp-login.php, y si miramos el código fuente de dicha página veremos el formulario que necesitamos.
Vamos a destacar los elementos de este formulario.
Primero, tenemos los inputs para el nombre de usuario y el password, en ellos pondremos los datos de nuestro usuario para loguearnos. Imprescindible que los nombre no cambien.
<input type="text" name="log" id="log" value="" size="20" tabindex="1" /> <input type="password" name="pwd" id="pwd" value="" size="20" tabindex="2" />
Tambien tenemos un checkbox para marcar si queremos que nos recuerde la proximavez que volvamos al blog, alojando una cookie con nuestros datos en nuestro pc.
<input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="3" />
Y otro input, oculto pero no menos importante.
<input type="hidden" name="redirect_to" value="wp-admin/" />
Con este input indicaremos donde queremos que nos redirija nuestro logueo, lo normal es que vaya a nuestro menú de administrador, pero no es necesario. Lo importante es fijarnos en el action del formulario, para ver donde tenemos que apuntar para que nos loguee.
<form name="loginform" id="loginform" action="wp-login.php" method="post">
Montando algo definitivo
Bueno, vamos a ensamblar todo y dejarlo listo.
Necesitaremos un elemento <form> para encapsular todo nuestro formulario y que tenga efecto el logueo. El resultado final sería el siguiente.
<form name="loginform" id="loginform" action="http://TUDOMINIO/wp-login.php" method="post">
<p><input type="text" name="log" id="log" value="" size="20" tabindex="1" /></p>
<p><input type="password" name="pwd" id="pwd" value="" size="20" tabindex="2" /></p>
<p class="submit">
<input type="submit" name="submit" id="submit" value="Login »" tabindex="4" />
<input type="hidden" name="redirect_to" value="<?=$_SERVER['PHP_SELF'];?>" />
</p>
</form>
Con $_SERVER[‘PHP_SELF’] obtendrémos página actual donde queremos que nos devuelva al loguearnos, asi no tendremos la sensación de habernos tenido que loguearnos ;D Solo nos hará falta cambiar http://TUDOMINIO/ por tu dirección real, de esa forma encontrará tu fichero wp-login.php
10 comentarios, 6 referencias
+
#