¿Te ha pasado alguna vez que el único usuario administrador ha perdido sus capacidades y ya no puedes administrar tu propio WordPress?
¿O quizás directamente no hay ningún usuario con perfil de administrador?
Pues pasa más de lo que imaginas, bien sea por plugins, instalaciones mal hechas, actualizaciones rotas, incluso ajustes de plugins de seguridad.
Si te pasa alguna vez que el único usuario con perfil de administrador, al acceder a WordPress, descubres que no tiene permisos para hacer nada hay varias posibles soluciones.
Índice de contenidos
Modificar las capacidades desde la base de datos
Lo primero sería tratar de devolver al usuario existente las capacidades de administrar tu WordPress.
Para ello, lo que tienes que hacer es ir al panel de tu alojamiento web y abrir la aplicación PHPMyAdmin. Una vez dentro abre la tabla _usermeta
y localiza el usuario al que quieras dar permisos de administrador.
Una vez dentro localiza usuarios con la clave meta _capabilities
, como en la siguiente captura.
Edita esa línea y cambia el valor meta existente, por ejemplo: a:1:{s:6:"author";b:1;}
a lo siguiente:
a:1:{s:13:"administrator";b:1;}
Como en la siguiente captura:
Dale al botón de «Continuar» y problema resuelto.
Crear un nuevo usuario administrador FTP
Otro modo de solventar esta situación sería forzar la creación de un nuevo usuario y contraseña. Para esto necesitas acceso por FTP o al gestor de archivos del alojamiento web.
Una vez en tu servidor localiza el archivo functions.php
del tema que tengas activo y añade lo siguiente al final del mismo:
function wpb_admin-account(){ $user = 'Usuario'; $pass = 'Contraseña'; $email = '[email protected]'; if (!username_exists( $user ) && !email_exists( $email ) ){ $user_id = wp_create_user($user, $pass, $email); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } add_action('init','wpb_admin-account');}
Como podrás imaginar, debes cambiar los valores de $user
, $pass
y $email
a los tuyos. Guarda los cambios y se habrá creado un nuevo usuario con esos valores, con los que podrás acceder como administrador.
Nota importante: Antes de hacer cualquier cambio en la base de datos debes siempre antes hacer una copia de seguridad.
Truco: Si por algún motivo no te funcionan los sistemas que hemos visto arriba, no te atreves a toquetear en la base de datos (comprensible), o lo que sea, puedes probar con este otro método de crear un nuevo usuario administrador, subiendo un ejecutable (emergency.php) por FTP.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Gracias Fernando siempre me descubres cosas nuevas.
He intentado hacer lo del Functions con una web que me ha tocado rescatar y me ha pegado un petardazo, hay algún fallo de sintaxis por ahí ¿?
Le falta una } al final antes de add action.
function wpb_admin-account(){
$user = ‘Usuario’;
$pass = ‘Contraseña’;
$email = ‘[email protected]’;
if (!username_exists( $user ) && !email_exists( $email ) ){
$user_id = wp_create_user($user, $pass, $email);
$user = new WP_User( $user_id );
$user->set_role( ‘administrator’ );
}
}
add_action(‘init’,’wpb_admin-account’);
Se lo debió comer el editor 😀
Oh gracias, porque no está corregido en el post
Si que lo está 😉
Sigue dando un fallo, las funciones no pueden llevar «-» guiones. Y además aunque lo corrijas tampoco crea el usuario…
Da igual podes poner el nombre que quieras en la funcion mientras despues cuando la llames pongas lo mismo. Ejemplo:
function crearUserAdmin(){
$user = ‘Usuario’;
$pass = ‘Contraseña’;
$email = ‘[email protected]’;
if (!username_exists( $user ) && !email_exists( $email ) ){
$user_id = wp_create_user($user, $pass, $email);
$user = new WP_User( $user_id );
$user->set_role( ‘administrator’ );
}
add_action(‘init’,’crearUserAdmin’);}
Gracias por la respuesta Mariano. Sí eso lo sé, de hecho es lo que hice, pero en mi caso tampoco me crea el usuario, puse la función en el tema hijo, no sé si será por eso. Al final opté por editar la DB.