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.