Esiste un is_user_logged_in () per il multisito?


11

Esiste una funzione is_user_logged_in () per Wordpress MU / Multisite (3.0+) dove posso aggiungere l'ID del sito di rete come is_user_logged_in(2)dove 2sarebbe site_id?

Aggiornare:

Dopo un po 'di scavo ho trovato il codice qui sotto. Sfortunatamente non funziona.

// non usarlo. non funziona.
funzione mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    restituisce $ status;
}

la risposta e i commenti di anu sono buoni.

inoltre, assicurati di avere il dominio dei cookie impostato correttamente nel file wp-config.php :)


Puoi spiegare il caso d'uso?
Chip Bennett,

Risposte:


10

Sì e no!

Il modo in cui gli utenti lavorano in uno scenario multisito è che esiste un unico pool di utenti, che vengono quindi associati ai blog.

Pertanto, lo stato di accesso è comune a tutti i blog, ma è possibile utilizzare is_blog_user($blog_id)per determinare se l'utente attualmente connesso è un membro di quel blog. Un esempio:

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

Pagina del codice per is_blog_user()


Avevo in mente qualcosa di leggermente diverso. Ho aggiunto alla domanda, ma penso che anche il tuo sia molto utile.
Cwd,

Probabilmente la tua risposta tornerà vera per qualsiasi utente che ha effettuato l'accesso, indipendentemente dal blog di cui l'utente è membro.
anu,

Hai ragione. Funziona ancora solo per il blog attuale. Ma vedi a cosa stavo cercando di arrivare? Ho un blog in cui l'utente non sarà connesso, ma voglio visualizzare le informazioni se sono connessi a un altro blog in rete. Qualche idea?
Cwd,

Ti manca il punto. Lo stato di accesso di un utente è "globale", vale a dire una volta che l'utente ha effettuato l'accesso, l'utente ha effettuato l'accesso a tutti i blog con "abbonato" come ruolo predefinito.
anu,

4
Piccolo suggerimento. La funzione is_blog_user()è obsoleta e lo sono le nuove funzioni per ottenere questi dati is_user_member_of_blog( $user_id, $blog_id ).
fusione
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.