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 :)


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()


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.