- Blogs
- Paso a paso
- WordPress Multisite: Cómo agregar un usuario a todos los sitios
Paso a paso / 5 min de lectura
WordPress Multisite: Cómo agregar un usuario a todos los sitios
Crear usuarios con roles adecuados es una de las partes más importantes de la gestión de una red multisite. De vez en cuando, puede que necesites agregar un usuario a todos los sitios en la red multisite de WordPress.
Cuando eso sucede, tenés 2 opciones: agregar manualmente el mismo usuario a cada sitio en la red o usar una función personalizada para automatizar el proceso.
Veamos cómo hacer ambos en esta guía paso a paso.
Cómo Agregar un Usuario de WordPress Multisite a Todos los Sitios
Método N°1: Agregar un Usuario Manualmente a Todos los Sitios
El primer método para agregar un usuario a todos los sitios en una red multisite es agregando manualmente el usuario a cada sitio.
En el panel de control, dirigite a Mis Sitios > Administrador de la Red > Sitios.
Una vez en la pantalla de Sitios, hacé clic en el subdominio al que planeás agregar al usuario.
En la pantalla de Editar Sitio, hacé clic en la pestaña de Usuarios.
Ahora, podés agregar un usuario existente o crear uno nuevo y asignarlo a este sitio en particular.
En la sección de Agregar Usuario Existente, tenés que escribir el nombre de usuario, elegir el rol del usuario, y hacer clic en Agregar Usuario.
Si querés crear un nuevo usuario y agregarlo al sitio, desplazate hasta la sección Agregar Nuevo Usuario. Creá el nombre de usuario, asigná una dirección de correo electrónico, dale un rol y hacé clic en Agregar Nuevo Usuario.
Es necesario repetir este proceso en cada sitio de la red si querés agregar un usuario a todos los sitios.
Método N°2: Agregar un Administrador a Todos los Sitios con una Función
Agregar usuarios manualmente a cada sitio puede ser viable si manejás unos pocos sitios, pero cuando administrás una red grande, el tiempo que lleva agregar nuevos usuarios se vuelve significativo. Incluso en redes más pequeñas, ir a cada sitio para agregar múltiples usuarios se vuelve tedioso rápidamente.
Si tenés algunos conocimientos de programación, podés beneficiarte agregando una función personalizada que te permita ingresar una dirección de correo electrónico y convertirla en un usuario en cada sitio de la red.
Para agregar usuarios administradores a nivel programático a todos los sitios de la red, añadí la siguiente función, creada por el desarrollador Kevin Leary, al archivo
.functions.php
/**
* WPMU Agregar Usuario a Todos los Sitios
*
* Agregar un usuario administrador a todos los sitios en una red multisite de WordPress
*/
function kevinlearynet_wpmu_add_user_all_sites() {
$email = isset( $_GET['wpmu_admin_sync'] ) ? esc_attr( $_GET['wpmu_admin_sync'] ) : null;
if ( ! $email ) {
return;
}
$user = get_user_by( 'email', $email );
if ( $user === false ) {
wp_die( "No existe un usuario en esta red con el email $email." );
}
$role = isset( $user->roles[0] ) ? $user->roles[0] : 'administrator';
$sites = get_sites( [
'limit' => 0,
'public' => true,
'spam' => false,
'deleted' => false,
'archived' => false,
'mature' => false,
] );
$output = [];
foreach ( $sites as $site ) {
$site_id = get_object_vars( $site )['blog_id'];
$site_name = get_blog_details( $site_id )->blogname;
$add_user = add_user_to_blog( $site_id, $user->ID, $role );
$note = "usuario $email al sitio $site_name como un $role.";
$output[] = $add_user ? "Se agregó exitosamente $note" : "Falló al agregar $note";
}
$html = wpautop( implode( PHP_EOL, $output ) );
wp_die( $html );
}
add_action( 'after_setup_theme', 'kevinlearynet_wpmu_add_user_all_sites' );
¿Cómo Usar la Función?
Para usar la función, empezá visitando tu red multisite. Agregá el siguiente parámetro de consulta a la URL de tu red:
?wpmu_admin_sync=[nombre_de_usuario_aquí]@[nombre-de-dominio_aquí].com
Acá tenés un ejemplo:
misitio.com/?wpmu_admin_sync=adminuser@misitio.com
Una vez que agregaste el parámetro de consulta con la dirección de correo, presioná Enter. El script agregará un nuevo usuario basado en la dirección de correo a cada sitio en la red.
Después de ejecutar la función, si vas a Sitios > Todos los Sitios y hacés clic en cualquiera de los sitios, al entrar en la pestaña de Usuarios, deberías ver el usuario administrador recién agregado.
Tené en cuenta que la dirección de correo electrónico que agregás debe estar ya asociada con un usuario existente. Si agregás una dirección de correo que no está asociada con un usuario existente, verás este mensaje de error.
¿Cómo Funciona la Función?
Esta función agrega un usuario por correo a todos los sitios en la red. Crea una lista de todos los sitios, encuentra un usuario existente por correo y lo agrega a cada sitio uno por uno.
La función agrega un usuario con el rol de administrador por defecto, por lo que deberías modificarla para agregar cualquier otro tipo de usuario.
Reflexiones Finales
La gestión de usuarios es muy importante en las redes multisite. Ocasionalmente, puede ser necesario agregar un usuario a cada sitio de la red, pero WordPress no proporciona una función nativa para agregar automáticamente el mismo usuario a todos los sitios.
Tus alternativas son agregar manualmente el mismo usuario a cada sitio o usar una función que automatice el proceso.
Este artículo proporcionó una guía paso a paso para hacer ambos, así que ahora sabés qué hacer la próxima vez que tengas que agregar un usuario a cada sitio en tu red.
Si encontraste útil este post, leé nuestro blog y recursos para obtener más información y guías sobre WordPress.