Oferta SiteGround Black Friday

Cómo recuperar o crear un nuevo usuario administrador de WordPress en caso de desastre

¿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.

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.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 4.8 / 5. Total de votos: 9

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

8 comentarios en “Cómo recuperar o crear un nuevo usuario administrador de WordPress en caso de desastre”

  1. 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í ¿?

  2. 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’);

    1. 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’);}

  3. 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio