Formulario de login personalizado para WordPress
Continuando con las miniseries de plantillas personalizadas hoy les voy a explicar como crear un formulario de login para usar en sus diseños.
Esta es la plantilla más facil de todas y voy a explicar dos formas de hacerlo. La facil y que no requiere más que una linea de código y la no tan facil
La forma sencilla para crear un formulario de login es utilizar la función que wordpress nos brinda. Para ello en vuestro template debeis poner:
$args = array( 'echo' => true, 'redirect' => site_url( $_SERVER['REQUEST_URI'] ), 'form_id' => 'loginform', 'label_username' => __( 'Usuario' ), 'label_password' => __( 'Password' ), 'label_remember' => __( 'Recordarme' ), 'label_log_in' => __( 'Log In' ), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_remember' => 'rememberme', 'id_submit' => 'wp-submit', 'remember' => true, 'value_username' => NULL, 'value_remember' => false ); wp_login_form( $args );
Si necesitan hacerlo de forma manual pueden usar el siguiente código:
Un formulario html cualquiera
<div id="errors"><?php echo $errors;?></div>
<form id="wp_login_form" action="" method="post">
<label>Username</label><br>
<input type="text" name="username" class="text" value=""><br>
<label>Password</label><br>
<input type="password" name="password" class="text" value=""> <br>
<label>
<input name="rememberme" type="checkbox" value="forever">Remember me</label>
<?php wp_nonce_field('login','nonce'); ?>
<input type="submit" id="submitbtn" name="submit" value="Login">
</form>
El código que se encarga del login:
if(isset($_POST) && wp_verify_nonce($_POST['nonce'],'login')){
$username = $wpdb->escape($_REQUEST['username']);
$password = $wpdb->escape($_REQUEST['password']);
$remember = $wpdb->escape($_REQUEST['rememberme']);
if($remember) $remember = "true";
else $remember = "false";
$login_data = array();
$login_data['user_login'] = $username;
$login_data['user_password'] = $password;
$login_data['remember'] = $remember;
$user_verify = wp_signon( $login_data, true );
if ( is_wp_error($user_verify) )
{
$errors = "<span class="error">Nombre de usuario o contraseña incorrecto!</span>";
} else
{
echo "<script type="text/javascript">window.location='". get_bloginfo('url') ."'</script>";
exit();
}
}
Como ven esto segundo es un poco más complicado pero permite hacer lo que uno quiera.
Acerca del autor
by Damián Logghe
Programador freelancer y emprendedor en sueños. Contento de ser mi jefe y poder hacer lo que me gusta. Wordpress es mi principal fuente de ingreso y me escribo tanto para ayudar como para tener una guia de memoria. Quieres contratarme? Déjame un mensaje.








Últimos Comentarios