¿Recuperaste alguna vez un backup de un sitio pero no tienes el usuario administrador?, en este artículo veremos como modificar un usuario existente o cómo crear un nuevo usuario para que sea administrador y lo haremos directamente en la base de datos.
Generalidades
En un artículo anterior vimos cómo usar roles y capacidades en WordPress, el nivel de administrador del sitio es un rol que viene por defecto con WordPress.
Agregar un nuevo usuario Administrador
Usaremos PHPMyAdmin para ejecutar el código SQL

Lo único que tienes que cambiar son las siguientes variables:
SET @prefix = 'wp_';
SET @user_login = 'demo';
SET @user_pass = 'demo';
SET @user_email = 'demo@demo.com';
SET @display_name = 'Nombre Demo';
El código completo se muestra a continuación:
En el código anterior:
- Primero debes cambiar las variables que crearán el usuario
- Luego el código inserta un nuevo registro en la tabla de usuarios
- Capturamos el ID más reciente insertado
- En la tabla usermeta asignamos el rol de usuario a través del key wp_capabilities
- En la misma tabla también agregamos el key wp_user_level, esto por compatibilidad ya que actualmente WordPress no lo usa
Actualizar un usuario para que sea Administrador
Usaremos PHPMyAdmin para ejecutar el código SQL

En este caso tienes que cambiar sólo las variables:
SET @prefix = 'wp_';
SET @id_user = 2;
El código completo se muestra a continuación:
En el código anterior:
- Cambiamos los valores de las variables para actualizar el usuario
- Luego directamente actualizamos la tabla usermeta
- En esta tabla actualizamos el key wp_capabilities
Conclusión
Como has podido comprobar, es muy simple agregar un usuario administrador de WordPress o cambiar a administrador algún usuario existente, simplemente haciendo cambios a nivel de base de datos con consultas SQL.
Hola gracias por tu video, pero intente hacer la primera parte y al darle a continuar me arroja un error
PREPARE tbluser FROM @user
#1054 – La columna ‘user_login’ en field list es desconocida
No se como puedo arreglarlo
Hola, asegúrate de seleccionar la BD correcta, esa columna si existe en la tabla de usuarios de WordPress.
Saludos
Hola jhon gracias por el script, la inclusion me trabajo bien pero el scritp de modificacion no, aunque cambia de suscripcion a administracion segun el ejemplo que tu colacas, si quiero ejecutar la modificacion de administracion a cliente o a suscriptor, o colaborador, no lo hace, en vez de eso coloca ninguno, gracias de antemano por tu respuesta
Hola Julio, el script sólo cambia efectivamente el rol hacia administrador, no hacia otro rol diferente.
Hola! Tengo 2 wordpress con una misma base de datos de usuarios, pero no puedo acceder al admin del segundo porque ninguno de los usuarios está como admin de ese wordpress, y lo intenté con esto y no me funcionó, ¿como lo puedo lograr?
Hola, supongo que es un multisitio, no lo he probado con multisite, si tienes acceso como super admin deberías poder crear o asignar el usuario administrador desde el backend del sitio.
Me funcionó correctamente,.Muchas gracias por tu material!
Que bueno que te sirvió. Saludos.
Estimado, gracias por tan valiosos tutoriales, Dios te siga dando sabiduría y conocimiento.
Quisiera tu opinión ya que LEÍ que no es recomendable usar el sistema de usuarios de wordpress por ser inseguro. Soy programador php, pero sinceramente NO VEO que usar los formularios de registro de usuarios de wordpress tenga problemas de seguridad. ¿Podrías opinar al respecto?
Hola, no he tenido problemas con la seguridad del formulario de registro, tal vez lo que comenta se refiere a que a través de los formularios (no sólo de registro) puede entrar spam. Eso se complementa con alguna funcionalidad de recaptcha para tenerlo controlado. Saludos.
Muchísimas gracias por tan valiosa aportación, por eso la insistencia. Dios te siga dando sabiduría.
Excelente aporte, muchas gracias.
Muy buena explicación y muy efectiva. Estaba trabado en que sólo entraba en el wp sin ningún permiso, y actualmente todo solucionado. En cuanto pueda te dono algo. Será posible?
Hola Donald, gracias, que bueno que te sirvió.
Estoy trabajando en un curso para entender este tipo de cosas en WordPress, te invito a suscribirte en: https://decodecms.us1.list-manage.com/subscribe/post?u=63525d8fbe569bff28a249339&id=a3ad15d00f , al suscribirte me estas apoyando ya que por allí comunicaré el lanzamiento del curso y podrás evaluar adquirirlo.
Saludos.
Hola John, muchas gracias por el artículo.
Te planteo un problema que tengo a ver si me puedes ayudar.
Tengo 2 instalaciones de WordPress. La instalación principal es un ecommerce donde se venden clases hecha con Divi y Woocommerce. He creado un subdominio para la impartición de cursos y que pretendo hacer con Astra y Learndash. Con objeto de que los alumnos que compren clases y cursos no tengan que tener 2 usuarios he hecho que ambas instalaciones de WordPress compartan la misma base de datos, cada una con un prefijo distinto para las tablas (modificando wl wp_config.php del subdominio). Y únicamente he configurado que las tablas de usuarios (users y usermeta) del subdominio de cursos usen las misma tablas que la instalación principal.
He probado y funciona correctamente con usuarios clientes pero no consigo poder entrar como administrador en el subdominio de cursos aunque en la tabla de usuarios está correctamente definido como administrador, sí puedo entrar en la de la instalación principal. Por favor, ¿tienes idea de qué podría hacer para resolverlo? Muchas gracias.
Hola, si cambias el prefijo de las tablas de usuarios al del sitio en el que no puedes ingresar si puedes acceder?, posiblemente sea algo del propio core. Podrías evaluar en su lugar usar un plugin de sincronización de usuarios, evalúa por ejemplo: https://wordpress.org/plugins/wp-remote-users-sync/
Mis respetos, te agradezco mucho el aporte. Eres un genio.
Saludos desde Costa Rica.
Gracias Kenneth.
Mil Gracias…!!!