WP_MS_Users_List_Table{}

用于实现在网络管理员的列表中显示用户的核心类。

描述

另请参见

方法

姓名描述
WP_MS_Users_List_Table::_column_blogs
WP_MS_Users_List_Table::ajax_user_can
WP_MS_Users_List_Table::column_blogs处理站点列输出。
WP_MS_Users_List_Table::column_cb处理复选框列输出。
WP_MS_Users_List_Table::column_default处理默认列输出。
WP_MS_Users_List_Table::column_email处理电子邮件列输出。
WP_MS_Users_List_Table::column_id处理ID列输出。
WP_MS_Users_List_Table::列名称处理名称列输出。
WP_MS_Users_List_Table::column_registered(已注册)处理注册的日期列输出。
WP_MS_Users_List_Table::column_username处理用户名列输出。
WP_MS_Users_List_Table::display_rows
WP_MS_Users_List_Table::get_bulk_actions
WP_MS_Users_List_Table::get_columns
WP_MS_Users_List_Table::get_default_primary_column_name获取默认主列的名称。
WP_MS_Users_List_Table::get_sortable_columns
WP_MS_Users_List_Table::获取视图
WP_MS_Users_List_Table::handle_row_actions生成并显示行操作链接。
WP_MS_Users_List_Table::无项目
WP_MS_Users_List_Table::分页
WP_MS_Users_List_Table::准备项

来源

类WP_MS_Users_List_Table扩展了WP_List_Tab{/***@return布尔*/公共函数ajax_user_can(){return current_user_can('manage_network_users');}/***@global string$mode列出表视图模式。*@global字符串$usersearch*@global字符串$role*/公共函数prepare_items(){全局$mode,$usersearch,$role;if(!空($_REQUEST['mode']){$mode=“摘录”===$_REQUEST['模式']?'摘录':'列表';set_user_setting('network_users_list_mode',$mode);}其他{$mode=获取用户设置('network_users_list_mode','list');}$usersearch=isset($_REQUEST[s'])?wp_unslash(修剪($_REQUEST[s']):'';$users_per_page=$this->get_items_per_page('users_network_per_ppage');$role=设置($_REQUEST['role'])$_请求['role']:'';$paged=$this->get_pagenum();$args=阵列(“数字”=>$users_per_page,“偏移量”=>($paged-1)*$users_per_page,“搜索”=>$usersearch,“博客id”=>0,'fields'=>'all_with_meta',);if(wpis_large_network(“用户”)){$args['search']=ltrim($args['search'],'*');}elseif(''!==$args['search']){$args['search']=trim($args['search'],'*');$args['search']='*'$args['search'].'*';}if(“super”===$role){$args['login_in']=获取超级管理员();}/**如果网络很大,并且没有执行搜索,*只显示没有分页的最新用户,以避免*昂贵的count查询。*/if(!$usersearch&&wpis_large_network(“用户”)){if(!isset($_REQUEST['orderby']){$_GET['orderby']='id';$_REQUEST['orderby']='id';}if(!isset($_REQUEST['订单']){$_GET['order']='DESC';$_REQUEST['order']='DESC';}$args['count_total']=false;}if(isset($_REQUEST['orderby'])){$args['orderby']=$_REQUEST['orderpy'];}if(isset($_REQUEST[“订单”]){$args['order']=$_REQUEST['order'];}/**该过滤器记录在wp-admin/includes/class-wp-users-list-table.php中*/$args=应用筛选器('users_list_table_query_args',$args);//查询此页面的用户ID。$wp_user_search=新的wp_user_Query($args);$this->items=$wp_user_search->get_results();$this->set_pagination_args(阵列(“total_items”=>$wp_user_search->get_total(),“per_page”=>$users_per_page,));}/***@return数组*/受保护函数get_bulk_actions(){$actions=数组();if(current_user_can('delete_users')){$actions['delete']=__('delete');}$actions['spam']=_x('标记为垃圾邮件','用户');$actions['notspam']=_x('非垃圾邮件','用户');返回$actions;}/***/公共函数no_items(){_e('找不到用户');}/***@global字符串$role*@return数组*/受保护的函数get_views(){全球$角色;$total_users=获取用户计数();$super_admins=get_super_admins();$total_admins=计数($super_admins);$role_links=数组();$role_links['all']=数组(“url”=>network_admin_url(“users.php”),“标签”=>sprintf(/*转换器:用户数*/_nx(纳克斯)('所有<span class=“count”>(%s)</span>','所有<span class=“count”>(%s)</span>',$total_users,'用户'),number_format_i18n(总计$个用户)),“当前”=>“超级”!==$角色,);$role_links['super']=数组(“url”=>network_admin_url(“users.php?role=super”),“标签”=>sprintf(/*转换器:用户数*/_n个('超级管理员<span class=“count”>(%s)</span>','超级管理员<span class=“count”>(%s)</span>',$total_admins(总计_管理员)),number_format_i18n(总计$管理员)),“当前”=>“超级”===$role,);返回$this->get_views_links($role_links);}/***@global string$mode列出表视图模式。**@param string$其中*/受保护函数分页($which){全局$模式;parent::分页($which);if('top'===$which){$this->view_switcher($mode);}}/***@return string[]由列名键入的列标题数组。*/公共函数get_columns(){$users_columns=数组('cb'=>'<input type=“checkbox”/>','用户名'=>__('用户名'),“名称”=>__(“名称”),“电子邮件”=>__(“电子邮件”),“registered”=>_x(“registered(已注册)”,“user(用户)”),“博客”=>__(“网站”),);/***过滤“网络管理员用户”列表中显示的列。**@自MU(3.0.0)起**@param string[]$users_columns用户列的数组。默认“cb”,“username”,*“name”、“email”、“registered”、“blogs”。*/返回apply_filters('wpmu_users_columns',$users_columns);}/***@return数组*/受保护函数get_sortable_columns(){返回数组('username'=>数组('login',false,__('username'),__('按用户名排序的表'),'asc'),'name'=>数组('name',false,__('name'),__('按名称排序的表')),“电子邮件”=>数组(“电子邮件”,false,__(“电子邮件”),__(“按电子邮件排序的表格”),'registered'=>数组('id',false,_x('registered],'user'),__('按用户注册日期排序的表'),);}/***处理复选框列输出。**@自4.3.0起*@since 5.9.0将`$user`重命名为`$item`,以匹配PHP 8命名参数支持的父类。**@param WP_User$item当前的WP_User对象。*/公共功能column_cb($item){//还原此方法中使用的更具描述性的特定名称。$user=$item;if(is_super_admin($user->ID)){回报;}?><input type=“checkbox”id=“blog_<?php-echo$user->id;?>”name=“allusers[]”value=“<?php echo esc_attr($user->id);?>“/><label for=“blog_<?php echo$user->ID;?>”><span class=“screen-reader-text”><?php(电话)/*转换器:隐藏的辅助功能文本。%s: 用户登录*/printf(__('选择%s'),$user->user_login);?></span></label><?php(电话)}/***处理ID列输出。**@自4.4.0起**@param WP_User$User当前的WP_User对象。*/公共函数column_id($user){echo$user->ID;}/***处理用户名列输出。**@自4.3.0起**@param WP_User$User当前的WP_User对象。*/公共函数column_username($user){$super_admins=get_super_admins();$avatar=get_avatar($user->user_email,32);echo$avatar;if(current_user_can('edit_user',$user->ID)){$edit_link=esc_url(add_query_arg(“wp_http_referer”,urlencode(wp_unslash($_SERVER[“REQUEST_URI”])),get_edit_user_link($user->ID));$edit=“<a href=\”{$edit_link}\“>{$user->user_login}</a>”;}其他{$edit=$user->user_login;}?><强><?php(电话)echo$edit;回声$edit;if(in_array($user->userlogin,$super_admins,true)){echo“__(“超级管理员”);}?></strong><?php(电话)}/***处理名称列输出。**@自4.3.0起**@param WP_User$User当前的WP_User对象。*/公共函数column_name($user){if($user->first_name&&$user->last_name){打印(/*翻译:1:用户的名字,2:姓氏*/_x(“%1$s%2$s”,“根据名字和姓氏显示名称”),$user->first_name,$user->last_name);}elseif($user->first_name){echo$user->first_name;}elseif($user->last_name){echo$user->last_name;}其他{echo'<span aria-hidden=“true”>&#8212</span><span class=“screen-reader-text”>'。/*翻译器:隐藏的辅助功能文本*/_x(“未知”,“名称”)。“</span>”;}}/***处理电子邮件列输出。**@自4.3.0起**@param WP_User$User当前的WP_User对象。*/公共功能column_email($user){echo“<a href='”。esc_url(“mailto:$user->user_email”)。“'>$user->user_email”;}/***处理注册的日期列输出。**@自4.3.0起**@global string$mode列出表视图模式。**@param WP_User$User当前的WP_User对象。*/公共函数column_registered($user){全局$模式;if(“列表”===$模式){$date=__('Y/m/d');}其他{$日期=__('Y/m/d g:i:s a');}echo mysql2date($date,$user->user_registered);}/***@自4.3.0起**@param WP_User$用户*@param字符串$classes*@param字符串$data*@param字符串$primary*/受保护的函数_column_blogs($user、$classes、$data、$primary){echo'<td class=“',$classes,'has-row-actions”',$data,'>';echo$this->column_blogs($user);echo$this->handle_row_actions($user,“blogs”,$primary);echo“</td>”;}/***处理站点列输出。**@自4.3.0起**@param WP_User$User当前的WP_User对象。*/公共功能column_blogs($user){$blogs=get_blogs_of_user($user->ID,true);if(!is_array($blogs)){回报;}foreach($blogs作为$site){if(!can_edit_network($site->site_id)){继续;}$path=('/'===$site->path)?'':$站点->路径;$site_classes=数组('site-'.$site->site_id);/***过滤多站点用户列表表上站点列表的span类。**@自5.2.0起**@param string[]$site_classes span标记中使用的类名数组。*使用站点的网络ID默认“site-#”。*@param int$site_id站点id。*@param int$network_id网络id。*@param WP_User$用户WP_User对象。*/$site_classes=apply_filters('ms_user_list_site_class',$site-classes,$site->userblog_id,$sites->site_id,$用户);if(is_array($siteclass)&&!空($site_classes){$site_classes=数组映射('sanitize_html_class',array_unique($site_classes));echo'<span class=“'.esc_attr(内爆('',$site_classes)).'”>';}其他{echo“<span>”;}echo'<a href=“'.esc_url(network_admin_url,'site-info.php?id='.$site->userblog_id).'”>'。str_replace('.'.get_network()->域,'',$site->域$路径)。'</a> ';echo'<small class=“row-actions”>';$actions=数组();$actions['edit']='<a href=“'.esc_url(network_admin_url('site-info.php?id='.$site->userblog_id)).'”>'__(“编辑”)。”</a> ';$class='';如果(1===(int)$site->spam){$class.='网站垃圾邮件';}如果(1===(int)$site->到期){$class.='现场-真实”;}如果(1===(int)$site->已删除){$class.='站点已删除';}如果(1===(int)$site->存档){$class.='站点存档';}$actions['view']='<a class=“'.$class.'”href=“'.esc_url(get_home_url($site->userblog_id)).'”>'__(“视图”)。”</a> ';/***筛选用户所属网站旁边显示的操作链接*在“网络管理员用户”列表中。**@自3.1.0起**@param string[]$actions要显示的操作链接数组。默认为“编辑”、“查看”。*@param int$userblog_id站点id。*/$actions=应用过滤器('ms_user_list_site_actions',$actions,$site->userblog_id);$action_count=计数($actions);$i=0;foreach($actions作为$action=>$link){++$i;$separator=($i<$action_count)?“|”:“”;echo“{$link}{$separator}”;}echo“</small></span><br/>”;}}/***处理默认列输出。**@自4.3.0起*@since 5.9.0将`$user`重命名为`$item`,以匹配PHP 8命名参数支持的父类。**@param WP_User$item当前的WP_User对象。*@param string$column_name当前列名。*/公共函数column_defect($item,$column_name){//还原此方法中使用的更具描述性的特定名称。$user=$item;/**该过滤器记录在wp-admin/includes/class-wp-users-list-table.php中*/echo apply_filters('manage_users_custom_column','',$column_name,$user->ID);}公共函数display_rows(){foreach($this->项作为$user){$class='';$status_list=数组(“垃圾邮件”=>“site-spammed”,'已删除'=>'网站已删除',);foreach($status_list作为$status=>$col){if($user->$status){$类=“$col”;}}?><tr class=“<?php echo trim($class);?>”><?php$this->single_row_columns($user);?></tr><?php(电话)}}/***获取默认主列的名称。**@自4.3.0起**@return string默认主列的名称,在本例中为“用户名”。*/受保护函数get_default_primary_column_name(){return‘用户名’;}/***生成并显示行操作链接。**@自4.3.0起*@since 5.9.0将`$user`重命名为`$item`,以匹配PHP 8命名参数支持的父类。**@param WP_User$item正在对用户执行操作。*@param string$column_name当前列名。*@param string$primary主要列名。*@return string多站点中用户的行操作输出,或空字符串*如果当前列不是主列。*/受保护函数handle_row_actions($item,$column_name,$primary){if($primary!==$column_name){返回“”;}//恢复更具描述性的特定名称,以便在此方法中使用。$user=$item;$super_admins=get_super_admins();$actions=数组();if(current_user_can('edit_user',$user->ID)){$edit_link=esc_url(add_query_arg('wp_http_referer',urlencode(wp_unslash($_SERVER['REQUEST_URI'])),get_edit_user_link($user->ID));$actions['edit']='<a href=“'.$edit_link.'”>'__(“编辑”)。”</a> ';}if(current_user_can('delete_user',$user->ID)&&!in_array($user->user_login,$super_admins,true){$actions['delete']='<a href=“'.esc_url(network_admin_url)(add_query_arg('_wp_http_referer',urlencode(wp_unslash($_SERVER['REQUEST_URI']))),wp_nonce_url,('users.php','deleteuser').'&amp;action=deleteuser&amp,id='.$user->id)。'”class=“delete”>'__(“删除”)。”</a> ';}/***过滤“网络管理员用户”列表中每个用户下显示的操作链接。**@自3.2.0起**@param string[]$actions要显示的操作链接数组。默认为“编辑”、“删除”。*@param WP_User$用户WP_User对象。*/$actions=应用过滤器('ms_user_row_actions',$actions,$user);返回$this->row_actions($actions);}}

变更日志

版本描述
3.1.0介绍。

用户贡献的笔记

你必须登录在能够贡献笔记或反馈之前。