En algunas situaciones, puede ser necesario crear un usuario administrador en WordPress cuando no tienes acceso al panel de administración.
En este tutorial, te mostraré cómo crear un usuario administrador utilizando el archivo functions.php del tema activo a través de FTP.
También te explicaré cómo determinar cuál es el tema activo en tu instalación de WordPress.
Recuerda que, antes de realizar cualquier cambio en tu sitio de WordPress, es necesario realizar una copia de seguridad completa de todos los archivos y la base de datos. Esto te permitirá restaurar tu sitio en caso de que algo salga mal durante el proceso.
Paso 1: Accede a tu sitio a través de FTP
Acceder a tu sitio de WordPress a través del protocolo de transferencia de archivos (FTP) es fundamental para realizar cambios en los archivos del tema y agregar un usuario administrador utilizando functions.php.
Sigue estos pasos para acceder de forma segura:
- Descarga un cliente FTP fiable, como FileZilla, y ábrelo en tu ordenador.
- Obtén tus credenciales de FTP. Puedes encontrar esta información en tu proveedor de hosting o en los detalles de tu cuenta de alojamiento.
- Abre tu cliente FTP y completa la información requerida, como el host (generalmente se proporciona en forma de una dirección IP o un nombre de dominio), el nombre de usuario y la contraseña de FTP.
- Establece el puerto de conexión como el valor predeterminado (generalmente el puerto 21) y elige el protocolo de seguridad apropiado, como SFTP (SSH File Transfer Protocol) para una conexión cifrada.
- Haz clic en el botón "Conectar" o "Iniciar sesión" para establecer una conexión segura con tu sitio de WordPress.
Una vez que hayas accedido con éxito a través de FTP, verás una estructura de directorios que representa los archivos y carpetas de tu sitio de WordPress, similar a la siguiente:
- wp-admin
- wp-content
- wp-includes
- …
El acceso FTP te da control directo sobre los archivos de tu sitio web, por lo que te recomiendo tener precaución al realizar cambios y siempre hacer una copia de seguridad antes de realizar modificaciones importantes (me voy a poner muy pesado con esto a lo largo del tutorial, pero es por tu bien).
Paso 2: Encuentra el tema activo
El tema activo de tu sitio de WordPress se encuentra dentro de la carpeta "wp-content/themes/". Los temas de WordPress se encuentran en subcarpetas dentro de esta carpeta.
El tema activo es la carpeta que contiene el tema que estás utilizando actualmente en tu sitio y se identifica por tener una carpeta con su nombre y archivos relacionados.
Si tienes dificultades para identificar el tema activo, busca un archivo llamado "style.css" dentro de cada carpeta de tema. Este archivo contiene información sobre el tema, incluyendo su nombre y detalles adicionales.
Otra forma se saber cual es el tema que usa tu sitio web es acceder a la web y pulsar CTRL+U (⌘+U en Mac) para ver el código fuente de la página y buscar la palabra themes.
O pulsando F12 para abrir el inspeccionador del navegador, ir a la sección Fuentes y localizar la carpeta con el tema activo.
Una vez que hayas encontrado la carpeta del tema activo, puedes acceder a ella para realizar cambios en los archivos del tema, como el archivo functions.php.
Paso 3: Abre el archivo functions.php del tema activo
Dentro de la carpeta del tema activo, busca el archivo functions.php. Este archivo contiene el código necesario para agregar funcionalidades personalizadas a tu sitio de WordPress.
Si no encuentras el archivo functions.php en el tema activo, es posible que el tema no lo tenga y debas seleccionar otro tema que sí lo tenga.
Paso 4: Agrega el código para crear el usuario administrador
Descarga el archivo functions.php, haz una copia del mismo y ábrelo usando un editor de texto o un editor de código como Notepad++ o VS Code.
A continuación, agrega el siguiente código al final del archivo functions.php:
function jrb_agregar_usuario_administrador() {
$username = 'nombre_de_usuario'; // Reemplaza 'nombre_de_usuario' con el nombre deseado
$password = 'contraseña'; // Reemplaza 'contraseña' con la contraseña deseada
$email = 'correo_electronico@ejemplo.com'; // Reemplaza 'correo_electronico@ejemplo.com' con el correo electrónico deseado
$user_exists = username_exists($username);
$email_exists = email_exists($email);
if (!$user_exists && !$email_exists) {
$userdata = array(
'user_login' => $username,
'user_pass' => $password,
'user_email' => $email,
'role' => 'administrator'
);
$user_id = wp_insert_user($userdata);
if (is_wp_error($user_id)) {
echo 'Error al crear el usuario administrador: ' . $user_id->get_error_message();
} else {
echo 'El usuario administrador se ha creado correctamente.';
}
} else {
echo 'El nombre de usuario o el correo electrónico ya existen.';
}
}
add_action('init', 'jrb_agregar_usuario_administrador');
Lenguaje del código: PHP (php)
En este código, creamos una función llamada jrb_agregar_usuario_administrador()
que se ejecutará cuando se inicialice WordPress (init
). Dentro de esta función, realizamos los siguientes pasos:
- Definimos las variables
$username
,$password
y$email
con los valores deseados para el nuevo usuario administrador. Asegúrate de reemplazar estos valores con la información correcta. - Utilizamos las funciones
username_exists()
yemail_exists()
para verificar si el nombre de usuario y el correo electrónico ya existen en la base de datos de WordPress. Estas funciones toman como parámetro el nombre de usuario y el correo electrónico respectivamente, y devuelventrue
si ya existen ofalse
si no existen. - A continuación, utilizamos una estructura
if
para comprobar si tanto$user_exists
(resultado deusername_exists()
) como$email_exists
(resultado deemail_exists()
) son falsos, lo que significa que el nombre de usuario y el correo electrónico no existen en la base de datos. - Dentro del bloque
if
, creamos un array$userdata
que contiene la información del nuevo usuario administrador, incluyendo el nombre de usuario, contraseña, correo electrónico y el rol que queremos asignarle (en este caso, 'administrator' para el rol de administrador). - Luego, utilizamos la función
wp_insert_user()
para insertar el nuevo usuario en la base de datos de WordPress. Esta función toma como parámetro el array$userdata
y devuelve el ID del nuevo usuario si la inserción se produce correctamente. Si ocurre algún error, la función devuelve un objetoWP_Error
. - Dentro del bloque
if
anidado, verificamos siis_wp_error($user_id)
es verdadero, lo que indica que se produjo un error al crear el usuario. En ese caso, mostramos un mensaje de error utilizando el métodoget_error_message()
del objetoWP_Error
. - Si el usuario se crea sin producirse errores, mostramos un mensaje indicando que el usuario administrador se ha creado correctamente.
- Si alguno de los valores de
$user_exists
o$email_exists
es verdadero, lo que significa que el nombre de usuario o el correo electrónico ya existen en la base de datos, mostramos un mensaje indicando que el nombre de usuario o el correo electrónico ya están en uso. - Finalmente, añadimos la acción
add_action('init', 'jrb_agregar_usuario_administrador')
para asegurarnos de que la funciónjrb_agregar_usuario_administrador()
se ejecute durante la inicialización de WordPress.
Asegúrate de reemplazar 'nombre_de_usuario', 'contraseña' y 'correo_electronico@ejemplo.com' con la información correspondiente al nuevo usuario administrador.
Una vez que hayas agregado el código al archivo functions.php, guárdalo y súbelo nuevamente a través de FTP, sobrescribiendo el archivo existente en la carpeta del tema activo.
Paso 5: Verifica el resultado
Ahora, visita tu sitio de WordPress y verifica si el usuario administrador ha sido creado correctamente.
Si todo funciona según lo esperado, verás un mensaje indicando que el usuario administrador se ha creado exitosamente.
En caso de errores, asegúrate de haber seguido correctamente los pasos anteriores y revisa los mensajes de error para solucionar cualquier problema.
Conclusión y consejos adicionales
Siguiendo los pasos y el código proporcionados en este tutorial, puedes agregar fácilmente un nuevo usuario administrador a tu sitio de WordPress sin acceder al panel de administración.
Crear un usuario administrador en WordPress mediante functions.php es una solución práctica y segura pero, si no te ves capaz o quieres evitar problemas, puedes ponerte en contacto conmigo para que lo solucione.
Recuerda hacer siempre una copia de seguridad y tener precaución al editar archivos clave en tu sitio.
- Para mantener la seguridad de tu sitio, asegúrate de eliminar el código añadido al archivo functions.php una vez que hayas creado el usuario administrador.
- Utiliza nombres de usuario y contraseñas seguros para evitar cualquier intento de acceso no autorizado.
- Mantén tu tema y plugins actualizados para garantizar la seguridad y el rendimiento de tu sitio.