Icono del sitio Imacreste

Multisite WordPress: Gestionar usuarios

La gran diferencia entre los usuarios estándar de WordPress y el multisite está en que en el primer caso todos los usuarios tienen acceso, con roles y permisos diferentes. Pero en Multisite tenemos usuarios para unos sitios y otros para otros, por lo tanto requiere gestionarlos en nuestros plugins.

Funciones

Cuando queremos programar para los usuarios de multisite debemos comprobar que pertenecen al sitio que están intentando acceder.

<?php if (is_user_member_of_blog()){
//entra
}?>

Esta función por defecto comprueba al usaurio logueado actualmente y recoge el id_blog del tema actual, y comprueba si ese usuario es miembro de ese tema, pero podemos pasarle 2 variables:

<?php if (is_user_member_of_blog($user_id,$blog_id)){ 
//entra 
}?>

En este caso comprueba si un usuario user_id, es miembro del blog blog_id.

También tenemos funciones para añadir o borrar un usuario:

add_user_to_blog($blog_id, $user_id, $rol);

remove_user_to_blog($$user_id, blog_id, $user_id_reasignar);

Por último, podemos recuperar todos los sitios a los que pertenece un usuario:

$array_sitios=get_blogs_of_user(3);
foreach ($array as $datos){echo $datos->blogname;}

Recogemos los sitios del usuario 3 en una variable y mostramos por pantalla el nombre de esos blogs.

Súper administradores

Al instalar multisite, WordPress crea el perfil de súper administrador, que tiene control total sobre todos los sitios y sobre funcionalidades de la red global.

Tenemos funciones para recuperar todos estos súper administradores:

print_r(get_super_admins());

Podemos confirmar si el usuario logueado es súper administrador:

if (is_super_admin(38)){//si}else{//no}

Podemos convertir un usuario en súper admin:

grant_super_admin(2);

En este caso el id_usuario 2 pasará a ser un súper administrador. Y con revoke_super_admin(2) le quitamos este poder.

Salir de la versión móvil