¿Hay un is_user_logged_in () para multisitio?

11

¿Existe una función is_user_logged_in () para Wordpress MU / Multisite (3.0+) donde puedo agregar la ID del sitio de red como is_user_logged_in(2)donde 2estaría el site_id?

Actualizar:

Después de un poco de investigación, se me ocurrió el siguiente código. Lamentablemente no funciona.

// no uses esto. No funciona.
función mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    devolver $ estado;
}

La respuesta y los comentarios de anu son buenos.

Además, asegúrese de tener el dominio de cookies configurado correctamente en el archivo wp-config.php :)

cwd
fuente
¿Puedes explicar el caso de uso?
Chip Bennett

Respuestas:

10

¡Si y no!

La forma en que los usuarios trabajan en un escenario multisitio es que hay un solo grupo de usuarios, que luego se asocian con los blogs.

Por lo tanto, el estado de inicio de sesión es común en todos los blogs, pero puede usarlo is_blog_user($blog_id)para determinar si el usuario que inició sesión actualmente es miembro de ese blog. Un ejemplo:

if (is_user_logged_in()) {
  if (is_blog_user(4)) echo "Current user is a member of blog 4";
}

Página del Codex para is_blog_user()

anu
fuente
Tenía algo un poco diferente en mente. He agregado a la pregunta, pero creo que la suya también es muy útil.
cwd
Su respuesta probablemente será verdadera para cualquier usuario que haya iniciado sesión, sin importar de qué blog sea miembro ese usuario.
Anu
Tienes razón. Todavía solo funciona para el blog actual. ¿Pero ves a lo que intentaba llegar? Tengo un blog en el que el usuario no iniciará sesión, pero quiero mostrar información si ha iniciado sesión en un blog diferente en la red. ¿Algunas ideas?
cwd
Te estás perdiendo el punto. El estado de inicio de sesión de un usuario es 'global', es decir, una vez que ese usuario ha iniciado sesión, ese usuario inicia sesión en todos los blogs con 'suscriptor' como rol predeterminado.
Anu
44
Pequeña pista. La función is_blog_user()está en desuso y las nuevas funciones para obtener estos datos son is_user_member_of_blog( $user_id, $blog_id ).
bueltge