Añadir un usuario en WordPress con WP-CLI: guía
Con WP-CLI puedes crear, listar, actualizar y eliminar usuarios de WordPress directamente desde la terminal, sin necesidad de entrar al panel de administración. Es especialmente útil durante migraciones, en scripts de automatización o cuando necesitas crear un usuario de emergencia sin acceso a wp-admin.
Para usar WP-CLI necesitas acceso SSH al servidor. Consulta la guía cómo acceder por SSH a tu hosting de Nicalia.
Referencia rápida de comandos
| Operación | Comando |
|---|---|
| Crear usuario (contraseña automática) | wp user create usuario email@dominio.com --role=administrator |
| Crear usuario (contraseña personalizada) | wp user create usuario email@dominio.com --role=administrator --user_pass=contraseña |
| Listar todos los usuarios | wp user list |
| Actualizar contraseña | wp user update ID --user_pass=nuevacontraseña |
| Cambiar rol de un usuario | wp user set-role ID nuevo-rol |
| Eliminar usuario | wp user delete ID |
Crear un usuario con WP-CLI
Con contraseña generada automáticamente
Ejecuta el siguiente comando para crear un usuario con rol de administrador. WordPress generará una contraseña segura automáticamente:
wp user create USUARIO tutorial@nicalia.com --role=administrator
Si todo va bien, recibirás un mensaje como este:
Success: Created user 2.
Password: 0S4FBioDxU
ℹ️ Anota la contraseña generada — WordPress no la enviará por email cuando se usa WP-CLI. Si no la guardas, tendrás que cambiarla después con wp user update.
Con contraseña personalizada
Si prefieres asignar tú la contraseña desde el inicio, añade la opción --user_pass= al comando:
wp user create USUARIO tutorial@nicalia.com --role=administrator --user_pass=TuContraseña
Con esto el nuevo usuario quedará creado con la contraseña que indiques.
Opciones adicionales del comando wp user create
El comando admite varios parámetros opcionales útiles:
wp user create USUARIO email@dominio.com \
--role=editor \
--user_pass=MiContraseña \
--first_name=Nombre \
--last_name=Apellido \
--display_name="Nombre Apellido" \
--send-email
--first_namey--last_name: nombre y apellido del usuario.--display_name: nombre que aparece en el sitio.--send-email: envía un email de bienvenida al nuevo usuario con sus credenciales.
Roles disponibles en WordPress
| Rol | Valor en WP-CLI | Permisos |
|---|---|---|
| Administrador | administrator |
Acceso completo al sitio — gestión de usuarios, plugins, temas y configuración. |
| Editor | editor |
Puede publicar y gestionar entradas y páginas propias y de otros usuarios. |
| Autor | author |
Puede publicar y gestionar sus propias entradas. |
| Colaborador | contributor |
Puede escribir y editar sus propias entradas, pero no publicarlas. |
| Suscriptor | subscriber |
Solo puede gestionar su propio perfil. |
Otros comandos útiles para gestionar usuarios
Listar todos los usuarios
wp user list
Para ver solo administradores:
wp user list --role=administrator
Actualizar la contraseña de un usuario
wp user update 1 --user_pass='nueva_contraseña'
Sustituye 1 por el ID del usuario. Puedes ver los IDs con wp user list.
Cambiar el rol de un usuario
wp user set-role 2 editor
Eliminar un usuario
wp user delete 2
Para reasignar el contenido del usuario eliminado a otro usuario:
wp user delete 2 --reassign=1
Errores frecuentes
«Error: This does not appear to be a WordPress installation»
El directorio desde el que ejecutas el comando no es la raíz de WordPress. Navega con cd a la carpeta raíz (normalmente public_html) o usa el parámetro --path: wp user create usuario email@dominio.com --role=administrator --path=/home/usuario/public_html.
«Error: Sorry, that username already exists»
El nombre de usuario ya existe en WordPress. Elige un nombre diferente o usa wp user list para ver los usuarios existentes antes de crear uno nuevo.
«Error: The email address is already registered»
El email ya está asociado a otro usuario de WordPress. Cada usuario debe tener un email único. Si necesitas restablecer el acceso a esa cuenta, usa wp user update para cambiar la contraseña en lugar de crear un nuevo usuario.
El usuario se crea pero no puede acceder a wp-admin
Verifica que el rol asignado es correcto. Un usuario con rol subscriber puede autenticarse pero no tiene acceso al panel de administración. Para acceso completo usa --role=administrator. También verifica que la contraseña no contiene caracteres especiales que hayan sido interpretados por el shell — envuélvela entre comillas simples: --user_pass='MiContraseña123!'
Preguntas frecuentes
¿Cómo crear un usuario administrador en WordPress con WP-CLI?
Ejecuta: wp user create nombre_usuario email@dominio.com --role=administrator. Si quieres asignar la contraseña directamente: wp user create nombre_usuario email@dominio.com --role=administrator --user_pass=TuContraseña.
¿Para qué sirve crear un usuario con WP-CLI en lugar de hacerlo desde wp-admin?
Es útil cuando no tienes acceso a wp-admin (lo perdiste, hay un error en el sitio, o simplemente estás automatizando el proceso). También es más rápido para crear múltiples usuarios en scripts de aprovisionamiento o despliegue.
¿Cómo ver todos los usuarios de WordPress con WP-CLI?
Ejecuta wp user list para ver todos los usuarios con su ID, nombre, email y rol. Para filtrar por rol: wp user list --role=administrator.
¿Puedo cambiar la contraseña de un usuario de WordPress con WP-CLI?
Sí. Usa wp user update ID --user_pass='nueva_contraseña' sustituyendo ID por el número de usuario (obtenido con wp user list).
¿Cuáles son los roles disponibles al crear un usuario con WP-CLI?
Los roles estándar de WordPress son: administrator, editor, author, contributor y subscriber. Algunos plugins añaden roles personalizados adicionales. Consulta la guía para añadir un usuario en WordPress desde wp-admin para más detalles sobre los permisos de cada rol.
