Existe um is_user_logged_in () para multisite?


11

Existe uma função is_user_logged_in () para o Wordpress MU / Multisite (3.0+) onde eu posso adicionar o ID do site de rede como is_user_logged_in(2)onde 2seria o site_id?

Atualizar:

Depois de um pouco de pesquisa, criei o código abaixo. Infelizmente isso não funciona.

// não use isso. não funciona.
função mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    retornar $ status;
}

A resposta e os comentários de anu são bons.

Além disso, verifique se o domínio do cookie foi definido corretamente no arquivo wp-config.php :)


Você pode explicar o caso de uso?
Chip Bennett

Respostas:


10

Sim e não!

A maneira como os usuários trabalham em um cenário multissite é que há um único pool de usuários, que é associado aos blogs.

Portanto, o status de logon é comum em todos os blogs, mas você pode usar is_blog_user($blog_id)para determinar se o usuário conectado atual é membro desse blog. Um exemplo:

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

Página do Codex para is_blog_user()


Eu tinha algo um pouco diferente em mente. Eu adicionei à pergunta, mas acho que a sua também é muito útil.
Cwd

Sua resposta provavelmente retornará verdadeira para qualquer usuário conectado, independentemente do blog em que esse usuário seja membro.
anu

Você está certo. Ainda funciona apenas para o blog atual. Mas você vê o que eu estava tentando alcançar? Tenho um blog em que o usuário não efetuará login, mas desejo exibir informações se ele estiver conectado a um blog diferente na rede. Alguma ideia?
Cwd

Você está perdendo o ponto. O status de logon de um usuário é 'global' - ou seja, uma vez que o usuário tenha logado, esse usuário será conectado a todos os blogs com 'assinante' como função padrão.
anu

4
Pequena dica. A função is_blog_user()está obsoleta e as novas funções para obter esses dados estão is_user_member_of_blog( $user_id, $blog_id ).
bueltge
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.