Para añadir un nuevo usuario mediante un formulario en WordPress, esto es, para que cualquier visitante de una página pueda registrarse como usuario mediante un formulario debemos crear un formulario con cuatro campos que luego pasaremos a la función wp_create_user
:
- Nombre. Que nos dará la variable
$user_name
- Correo electrónico. Que nos dará la variable
$user_email
- Contraseña. Que nos dará la variable
$user_password
- Confirmar contraseña. Que nos dará la variable
$user_verification
que utilizaremos en una sentencia condicional para comprobar que la contraseña ha sido introducida correctamente.
Con estos datos llamamos a la función wp_create_user
:
<?php $user_name = $_POST['user_name']; $user_email = $_POST['user_email']; $user_password = $_POST['user_password']; require_once(ABSPATH . WPINC . '/registration.php'); $user_id = username_exists( $user_name ); // nos aseguramos que el user no existe if ( !$user_id ) { if ( $user_password == '' ) { $random_password = wp_generate_password( 12, false ); // esto se puede usar para que no sea necesario incluir contraseña $user_id = wp_create_user( $user_name, $random_password, $user_email ); else { $user_id = wp_create_user( $user_name, $user_password, $user_email ); } } else { // si el usuario ya existe: mensaje de error $random_password = __('User already exists. Password inherited.'); } ?>
8 comentarios
Muchas gracias Alfonso Sánchez … como tudo bueno novato procederé a probarlo espero puedas ayudarme en mis tropiesos.. Mil Gracias.. y felicidades por tus investigaciones en la fiolosofía opes Source.
Gracias Francisco! Si tienes cualquier problema puedes contarme aquí en los comentarios.
Qusiera saber si algún me pueden ayudar con este tema, la entrada es antigua, yo necesito editar esta parte: http://www.prensamedica.org/portal/wp-login.php?action=register pero no consigo que funcione.
Hola Daniela,
este post cuenta cómo añadir un formulario de registro en cualquier lugar de un sitio web construido con WordPress, no cómo modificar el formulario de registro de WordPress, que es lo que creo que tú necesitas.
Ese código lo ingreso en un archivo .php en que carpeta?
Sabe por defecto el nombre de la base de datos?
Hola Oflodor, este código lo puedes alojar en un archivo PHP como parte del theme que estés usando o hacer un plugin, como prefieras. La información para conectarse a la base de datos está en el archivo general de configuración de WordPress,
wp-config.php
.