Ottenere uno dei blog attivi di un utente

Descrizione

Restituisce il blog principale dell'utente, se ne ha uno ed è attivo. Se è inattivo, la funzione restituisce un altro blog attivo dell'utente. Se non ne viene trovato nessuno, l'utente viene aggiunto come abbonato al blog del cruscotto e viene restituito quel blog.

Parametri

$id_utente

(int)(Richiesto)L'ID univoco dell'utente

Ritorno

(WP_Site|vuoto) L'oggetto blog

Fonte

File: wp-includes/ms-functions.php

functionget_active_blog_for_user($user_id){$blogs=get_blogs_of_user($user_id);if(empty($blogs)){return;}if(!is_multisite()){return$blogs[get_current_blog_id()];}$primary_blog=get_user_meta($user_id,'primary_blog',true);$first_blog=current($blogs);if(false!==$primary_blog){if(!isset($blogs[$primary_blog])){update_user_meta($user_id,'primary_blog',$first_blog->userblog_id);$primary=get_site($first_blog->userblog_id);}else{$primary=get_site($primary_blog);}}else{// TODO: Review this call to add_user_to_blog too - to get here the user must have a role on this blog?$result=add_user_to_blog($first_blog->userblog_id,$user_id,'subscriber');if(!is_wp_error($result)){update_user_meta($user_id,'primary_blog',$first_blog->userblog_id);$primary=$first_blog;}}if((!is_object($primary))||(1==$primary->archived||1==$primary->spam||1==$primary->deleted)){$blogs=get_blogs_of_user($user_id,true);// If a user's primary blog is shut down, check their other blogs.$ret=false;if(is_array($blogs)&&count($blogs)>0){foreach((array)$blogsas$blog_id=>$blog){if(get_current_network_id()!=$blog->site_id){continue;}$details=get_site($blog_id);if(is_object($details)&&0==$details->archived&&0==$details->spam&&0==$details->deleted){$ret=$details;if(get_user_meta($user_id,'primary_blog',true)!=$blog_id){update_user_meta($user_id,'primary_blog',$blog_id);}if(!get_user_meta($user_id,'source_domain',true)){update_user_meta($user_id,'source_domain',$details->domain);}break;}}}else{return;}return$ret;}else{return$primary;}}

Correlato

Utilizzi

Usi Descrizione
wp-includes/load.php: get_current_network_id()

Recupera l'ID della rete corrente.

wp-includes/ms-site.php: get_site()

Recupera i dati del sito, dato un ID sito o un oggetto sito.

wp-includes/load.php: is_multisite()

Se Multisito è abilitato.

wp-includes/load.php: get_current_blog_id()

Recupera l'ID del sito corrente.

wp-includes/user.php: get_blogs_di_utente()

Ottiene i siti a cui appartiene un utente.

wp-includes/user.php: get_user_meta()

Recupera il campo meta dell'utente per un utente.

wp-includes/user.php: update_user_meta()

Aggiorna il campo meta dell'utente in base al suo ID.

wp-includes/ms-functions.php: add_user_to_blog()

Aggiunge un utente a un blog, specificandone il ruolo.

wp-includes/load.php: is_wp_error()

Controlla se la variabile data è un errore di WordPress.

Utilizzato da

Usato da Descrizione
wp-includes/link-template.php: get_dashboard_url()

Recupera l'URL della dashboard dell'utente.

wp-includes/class-wp-admin-bar.php: WP_Admin_Bar::initialize()
wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::wp_getUsersBlogs()

Recupera i blog dell'utente.

Changelog

Versione Descrizione
MU (3.0.0) Introdotto.