Gibt es ein is_user_logged_in () für Multisite?

11

Gibt es eine is_user_logged_in () -Funktion für Wordpress MU / Multisite (3.0+), mit der ich die Netzwerk-Site-ID hinzufügen kann, z. B. is_user_logged_in(2)wo 2wäre die site_id?

Aktualisieren:

Nach einigem Graben habe ich mir den folgenden Code ausgedacht. Geht leider nicht.

// benutze das nicht. funktioniert nicht.
Funktion mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    $ status zurückgeben;
}}

Anus Antwort und Kommentare sind gut.

Stellen Sie außerdem sicher, dass die Cookie-Domäne in der Datei wp-config.php richtig eingestellt ist :)

cwd
quelle
Können Sie den Anwendungsfall erklären?
Chip Bennett

Antworten:

10

Ja und nein!

Die Art und Weise, wie Benutzer in einem Szenario mit mehreren Standorten arbeiten, besteht darin, dass es einen einzelnen Pool von Benutzern gibt, die dann Blogs zugeordnet werden.

Der Anmeldestatus ist also in allen Blogs gleich. Sie können is_blog_user($blog_id)jedoch bestimmen, ob der aktuell angemeldete Benutzer Mitglied dieses Blogs ist. Ein Beispiel:

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

Codex-Seite für is_blog_user()

anu
quelle
Ich hatte etwas anderes im Sinn. Ich habe die Frage ergänzt, aber ich denke, Ihre ist auch sehr nützlich.
CWD
Ihre Antwort wird wahrscheinlich für jeden angemeldeten Benutzer true zurückgeben, unabhängig davon, in welchem ​​Blog dieser Benutzer Mitglied ist.
Anu
Du hast recht. Es funktioniert immer noch nur für den aktuellen Blog. Aber siehst du, worauf ich hinaus wollte? Ich habe ein Blog, in dem der Benutzer nicht angemeldet ist, aber ich möchte Informationen anzeigen, wenn er in einem anderen Blog im Netzwerk angemeldet ist. Irgendwelche Ideen?
CWD
Sie verpassen den Punkt. Der Anmeldestatus eines Benutzers ist "global". Wenn sich dieser Benutzer angemeldet hat, wird dieser Benutzer in allen Blogs mit "Abonnent" als Standardrolle angemeldet.
Anu
4
Kleiner Hinweis. Die Funktion is_blog_user()ist veraltet und die neuen Funktionen zum Abrufen dieser Daten sind is_user_member_of_blog( $user_id, $blog_id ).
Bueltge