Contenido

Ponle un login a tu blog

24 abr

+ 16

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

  1. Un blog (imprescindible)
  2. 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 &raquo;" 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

  • Perdona mi ignorancia, Andrés, pero ¿Esto también podría servir para proteger, por ejemplo, categorías, de usuarios que no estén registrados?

  • Buenas Chiqui, no, exactamente no es para eso, pero seguro que modificando un poco puedes adaptarlo para conseguir dicho efecto.

    Quizas estatía bien montar un plugin que te permitiera gestionar permisos por categorías, a ver si me viene un poco de tiempo libre y hago algo, que tengo algunas ideas en mi libreta de tareas y poco tiempo para ir tachando ideas…

    un saludo.

  • Muchas gracias, Andrés.
    Un saludo

  • Buen tutorial, pensaba montar algo como manu en su dalarnas, pero igual pensé que sería mucho menos carga si añado un simple link “admin” en el blog :D.

  • Claro Christian, realmente esa opción es la más cómoda y carga menos.

    Yo lo que tengo es una serie de pestañas que solo ve el administrador que me facilitan las tareas, colocadas al lado de las otras opciones de los tabs de arriba, no pondría un login para mi solo :D

  • Gracias maese!! en cuanto ponga el registro obligatorio lo implemento.

    Bueno, como para ver si puedo devolverle algo a la comunidad les paso la dire de un sistemita se envio de SMS en argentina. En realidad el script lo armo Peemebe (creo que se llamaba asi) y yo lo “simplifique” . Despues lo edito para poner un link de descarga para el script (que como todo lo bueno en la vida es GPL).

    En realidad mi aporte es medio trucho, por que el script no es mio, pero Pablo Bravo ya no tiene su blog, por lo tanto no se lo puede encontrar….

    Bueno, espero que no te moleste que aga una prueba ahora con este comentario, como no tengo idea no se si funcionara…. bueno, aqui va: la dire del script es SMS… pero si quieren la cuestion metanle al clik derecho y al guardar destino como (no se si esto servira)

    Bueno, hasta luego… y perdon por molestar tanto… Gracias de nuevo capo!

  • A mi no me funciona. Estaré haciendo algo mal?

  • Hola, que tal, antes que nada quiero felicitarte por tu web,
    Bueno He estado buscando algun tutorial pero no lo he encontrado la verdad se muy poco de HTML estoy aprendiendo pero quiero cambiar o poner más formularios en wp_login ya ves que en wordpress tiene la opción para que se regristren y solo aparecen dos por default que es _Nombre del Usuario y Correo Electronico, Bueno como puedo cambiar esas dos opciones que sean aún más que yo pueda agregar, me podrías ayudar porfavor.
    Te lo agradecería muchisiimoo
    Gracias y un gran saludo.

  • Gracias me ha sido de mucha utilidad. Era exactamente lo que buscaba y no lo encontraba.

  • Muy bueno el aporte, hay una forma de hacerlo para blogger, si es asi me podrias enviar codigo a mi email. Gracias

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.