Czy istnieje funkcja is_user_logged_in () dla wielu witryn?

11

Czy istnieje funkcja is_user_logged_in () dla Wordpress MU / Multisite (3.0+), w której mogę dodać identyfikator strony sieciowej, tak jak is_user_logged_in(2)gdzie 2byłby identyfikator strony?

Aktualizacja:

Po krótkim kopaniu wymyśliłem poniższy kod. Niestety to nie działa.

// nie używaj tego. nie działa.
funkcja mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    zwraca status $;
}

Odpowiedzi i komentarze anu są dobre.

również upewnij się, że domena plików cookie jest poprawnie ustawiona w pliku wp-config.php :)

cwd
źródło
Czy możesz wyjaśnić przypadek użycia?
Chip Bennett

Odpowiedzi:

10

Tak i nie!

Sposób, w jaki użytkownicy pracują w scenariuszu obejmującym wiele witryn, polega na tym, że istnieje jedna pula użytkowników, którzy są następnie kojarzeni z blogami.

Tak więc status zalogowania jest wspólny dla wszystkich blogów, ale możesz użyć, is_blog_user($blog_id)aby ustalić, czy bieżący zalogowany użytkownik jest członkiem tego bloga. Przykład:

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

Strona Kodeksu dla is_blog_user()

anu
źródło
Miałem na myśli coś innego. Dodałem do pytania, ale myślę, że twoje też jest bardzo przydatne.
cwd
Twoja odpowiedź prawdopodobnie zwróci prawdę dla każdego zalogowanego użytkownika, niezależnie od tego, którego bloga jest członkiem.
anu
Masz rację. Nadal działa tylko dla bieżącego bloga. Ale widzisz, o co mi chodziło? Mam blog, do którego użytkownik nie będzie zalogowany, ale chcę wyświetlić informacje, jeśli są zalogowani na innym blogu w sieci. Jakieś pomysły?
cwd
Nie rozumiesz sedna sprawy. Status zalogowanego użytkownika to „globalny” - tzn. Po zalogowaniu się ten użytkownik jest logowany do wszystkich blogów, w których domyślną rolą jest „subskrybent”.
anu
4
Mała wskazówka. Funkcja is_blog_user()jest przestarzała, a nowe funkcje do pobierania tych danych to is_user_member_of_blog( $user_id, $blog_id ).
bueltge