Crear un usuario wordpress desde php

Crear un usuario wordpress desde php

Hoy vamos a ver como crear un usuario wordpress desde php, esto es muy util cuando desarrollamos sistemas que trabajan a la par de wordpress, también te será util si buscas la forma de crear un usuario wordpress desde base de datos por una u otra razón.

En mi caso estoy creando un sistema web para un cliente desde el cual necesito crear usuarios capaces de loguerse al panel de administración de wordpress.

Obviamente no puedo mandarlos a que creen una cuenta en el wordpress por lo que el usuario admin de mi sistema deberá dar de alta estos usuarios tanto en nuestra base de datos como en la base de datos de wordpress para que les permita el acceso.

Teniendo en mente esta situación me di a la tarea de investigar como crear un usuario wordpress desde php y finalmente lo logré, bastante más fácil de lo que pense en un inicio.


¿Sabías que?

¿Necesitas hosting wordpress? WebEmpresa te ofrece un servicio super rápido, excelente soporte en español y certificado SSL gratuito:

WebEmpresa

La clave esta en agregar 2 registros en 2 diferentes tablas de nuestro wordpress, podemos hacerlo directamente con nuestro phpmyadmin o con algún lenguaje de programación como php.

 

¿Te interesa agregar botones de compartir en tu RSS de wordpress?

 

Como crear un usuario wordpress desde base de datos

Lo primero que tenemos que hacer es acceder a la base de datos wordpress de tu sitio web, generalmente puede ser con cPanel y la herramienta phpmyadmin.

Una vez tengamos acceso a nuestra base de datos lo siguiente será identificar a las tablas involucradas en la creación de usuarios.

Las tablas involucradas para esta tarea son:

  • wp_users
  • wp_usermeta

Para crear un usuario wordpress es necesario insertar un registro en la tabla wp_users con los campos:

  • ID – Dejamos vacio pues es autoincrement
  • user_login – insertamos el usuario
  • user_pass – insertamos la contraseña con la funcion md5
  • user_nicename – podemos completarlo o dejarlo vacio
  • user_email – insertamos el correo del usuario
  • user_url – podemos completarlo o dejarlo vacio
  • user_registered – podemos completarlos o insertar fecha de registro
  • user_status – agregamos 0
  • display_name – podemos completarlo o dejarlo vacio

Ahora vamos a ver si nuestro registro se agrego correctamente, tomamos nota del ID con el que se genero nuestro registro pues lo ocuparemos en el siguiente paso.

Lo siguiente que haremos será insertar un registro en la tabla wp_usermeta con los campos:

  • unmeta_id – Dejamos vacio pues es autoincrement
  • user_id – Este es el id que se genero del registro anterior en la tabla wp_users
  • meta_key – Insertar «wp_capabilities»
  • meta_value – Insertar la siguiente cadena
    • a:1:{s:13:"administrator";s:1:"1";}
      

Y terminar el registro.

Con este valor en meta_value el usuario será de tipo administrador.

Y listo! Con esto habremos creado un usuario wordpress desde base de datos.

Ahora ¿Cómo crear un usuario wordpress desde php? Fácil! Sabiendo esto anterior solo es traducirlo a codigo php o a cualquier otro.

Como crear un usuario wordpress desde php

Lo primero será obtener los datos de conexión a nuestro wordpress.

Posteriormente necesitaremos obtener la información que se necesitará para dar de alta el registro en la base de datos de wordpress, al menos necesitaremos email y password.

Para crear un usuario wordpress desde php lo siguiente será insertar el registro en nuestra tabla wp_users:

$password_encr = md5($password);

$sql_usuariowp = "INSERT INTO wp_users(user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_status, display_name) values('$email', '$password_encr', '', '$email', '', '', 0, '');";

if ($connwp->query($sql_usuariowp) === TRUE) {

	$idwp = $connwp->insert_id;

Lo primero será encriptar con md5 nuestra contraseña, posteriormente construimos nuestro sql del insert, como te mencione antes al menos debes de contar con el correo y password del usuario.

Es muy importante salvar el id que nos genere el insert para el proximo paso.

Por último vamos a realizar el insert en la tabla wp_usermeta utilizando el id generado en el paso anterior, este registro nos sirve para darle permisos al usuario.

$sql_usuariometawp = "INSERT INTO wp_usermeta(user_id, meta_key, meta_value) values($idwp, 'wp_capabilities', 'a:1:{s:13:\"administrator\";s:1:\"1\";}' );";

		if ($connwp->query($sql_usuariometawp) === TRUE) {

Despues de esto ya tendremos la posibilidad de iniciar sesión en nuestro wordpress con el correo y contraseña del usuario recien creado.

¿Bastante más facil de lo que esperabas verdad?

Si esta entrada te fue de utilidad no olvides compartirla en tus redes sociales favoritas, si tienes alguna duda puedes dejarnos un comentario abajo y con gusto te ayudaré a aclararlo si me es posible.

Hasta luego!

Clic para valorar esta información
[Total: 0 Promedio: 0]