Description

Usage

Parameters

( bool ) optional – Whether to retrieve all sites, or only sites that are not marked as deleted, archived, or spam.

Returns

array A list of the user's sites. An empty array if the user doesn't exist or belongs to no sites.

Source

File name: wordpress/wp-includes/user.phpLines:

1 to 100 of 117

functionget_blogs_of_user($user_id,$all=false){global$wpdb;$user_id=(int)$user_id;// Logged out users can't have sites.
if(empty($user_id)){returnarray();}
/**
* Filters the list of a user's sites before it is populated.
*
* Passing a non-null value to the filter will effectively short circuit
* get_blogs_of_user(), returning that value instead.
*
* @since 4.6.0
*
* @param null|array $sites An array of site objects of which the user is a member.
* @param int $user_id User ID.
* @param bool $all Whether the returned array should contain all sites, including
* those marked 'deleted', 'archived', or 'spam'. Default false.
*/$sites=apply_filters('pre_get_blogs_of_user',null,$user_id,$all);if(null!==$sites){return$sites;}$keys=get_user_meta($user_id);if(empty($keys)){returnarray();}if(!is_multisite()){$site_id=get_current_blog_id();$sites=array($site_id=>newstdClass);$sites[$site_id]->userblog_id=$site_id;$sites[$site_id]->blogname=get_option('blogname');$sites[$site_id]->domain='';$sites[$site_id]->path='';$sites[$site_id]->site_id=1;$sites[$site_id]->siteurl=get_option('siteurl');$sites[$site_id]->archived=0;$sites[$site_id]->spam=0;$sites[$site_id]->deleted=0;return$sites;}$site_ids=array();if(isset($keys[$wpdb->base_prefix.'capabilities'])&&defined('MULTISITE')){$site_ids[]=1;unset($keys[$wpdb->base_prefix.'capabilities']);}$keys=array_keys($keys);foreach($keysas$key){if('capabilities'!==substr($key,-12)){continue;}if($wpdb->base_prefix&&0!==strpos($key,$wpdb->base_prefix)){continue;}$site_id=str_replace(array($wpdb->base_prefix,'_capabilities'),'',$key);if(!is_numeric($site_id)){continue;}$site_ids[]=(int)$site_id;}$sites=array();if(!empty($site_ids)){$args=array('number'=>'','site__in'=>$site_ids,'update_site_meta_cache'=>false,);if(!$all){$args['archived']=0;$args['spam']=0;$args['deleted']=0;}$_sites=get_sites($args);foreach($_sitesas$site){$sites[$site->id]=(object)array('userblog_id'=>$site->id,'blogname'=>$site->blogname,'domain'=>$site->domain,'path'=>$site->path,'site_id'=>$site->network_id,'siteurl'=>$site->siteurl,'archived'=>$site->archived,'mature'=>$site->mature,'spam'=>$site->spam,