使WordPress成为核心

来源: 标签/6.5/型钢混凝土/wp-管理员/包括/class-wp-users-list-table.php

上次更改时间在这个文件上57263,签入者成本开发,5个月前

文档:更正文档块和内联注释中的一些拼写错误。

这纠正了文档中的几个拼写错误,包括:

  • “输入”->“输入”
  • “处理”->“处理”
  • “实例化”->“实例主义”
  • “过滤”->“过滤”
  • “offifily”->“正式”

后续行动[8852],[25307],[26191],[37488],[54416].

Props bennieldl、mukesh27、jayadevankbh、Presskopp。
修复#60069。请参阅#59651.

  • 财产svn:eol风格设置为本地的
文件大小: 18.6 KB
线路 
1<?php(电话)
2/**
*列表API:WP_Users_List_Table类
4 *
5*@package WordPress
6*@子包管理
7*@自3.1.0起
8 */
9
10/**
11*用于实现在列表中显示用户的核心类。
12 *
13*@自3.1.0起
14 *
15*@参见WP_List_Table
16 */
17 WP_用户_列表_表 延伸 WP_列表 {
18
19       /**
20*要为其生成用户列表表的站点ID。
21         *
22*@自3.1.0起
23*@变量int
24         */
25       公众的 $站点id;
26
27       /**
28*当前用户列表表是否用于Multisite。
29         *
30*@自3.1.0起
31*@var bool
32         */
33       公众的 $is_site_users;
34
35       /**
36*建造商。
37         *
38*@自3.1.0起
39         *
40*@有关默认参数的详细信息,请参阅WP_List_Table::__construct()。
41         *
42*@param array$args参数的关联数组。
43         */
44       公众的 功能 __构造( $个参数 = 阵列() ) {
45               起源::__构造(
46                       阵列(
47                               “单数” => “用户”,
48                               “复数”   => '用户',
49                               '屏幕'   => 发行( $个参数['屏幕'] ) ? $个参数['屏幕'] : 无效的,
50                       )
51               );
52
53               $这个->是网站用户 = '网站用户网络' === $这个->屏幕->身份证件;
54
55               如果 ( $这个->是网站用户 ) {
56                       $这个->站点id = 发行( $请求[“id”] ) ? (整数) $请求[“id”] : 0;
57               }
58       }
59
60       /**
61*检查当前用户的权限。
62         *
63*@自3.1.0起
64         *
65*@return bool
66         */
67       公众的 功能 ajax用户can() {
68               如果 ( $这个->是网站用户 ) {
69                       返回 当前用户can( '管理站点' );
70               } 其他的 {
71                       返回 当前用户can( '列表用户' );
72               }
73       }
74
75       /**
76*准备要显示的用户列表。
77         *
78*@自3.1.0起
79         *
80*@全局字符串$role
81*@global字符串$usersearch
82         */
83       公众的 功能 准备项目() {
84               全球的 $角色, $用户搜索;
85
86               $用户搜索 = 发行( $请求[“s”] ) ? wp_unslash(取消刷新)( 修剪( $请求[“s”] ) ) : '';
87
88               $角色 = 发行( $_请求[“角色”] ) ? $_请求[“角色”] : '';
89
90               每页$       = ( $这个->是_站点_用户 ) ? '网站用户网络用户页面' : '用户_每_页';
91               $users_per_page(每个页面) = $这个->获取每个页面的项目( 每页$ );
92
93               $页 = $这个->获取代理();
94
95               如果 ( “无” === $角色 ) {
96                       $个参数 = 阵列(
97                               “数字” => $users_per_page(每个页面),
98                               '偏移' => ( $页 - 1 ) * $users_per_page(每个页面),
99                               “包含” => wp_get_users_with_no_role( $这个->站点id ),
100                               “搜索” => $用户搜索,
101                               '字段' => '全部包含元数据',
102                       );
103               } 其他的 {
104                       $个参数 = 阵列(
105                               “数字” => $users_per_page(每个页面),
106                               '偏移量' => ( $页 - 1 ) * $users_per_page(每个页面),
107                               “角色”   => $角色,
108                               “搜索” => $用户搜索,
109                               '字段' => '全部包含元数据',
110                       );
111               }
112
113               如果 ( '' !== $个参数[“搜索”] ) {
114                       $个参数[“搜索”] = '*' . $个参数[“搜索”] . '*';
115               }
116
117               如果 ( $这个->是网站用户 ) {
118                       $个参数['博客id'] = $这个->站点id;
119               }
120
121               如果 ( 发行( $请求['订购'] ) ) {
122                       $个参数['订购'] = $请求['订购'];
123               }
124
125               如果 ( 发行( $请求[“订单”] ) ) {
126                       $个参数[“订单”] = $请求[“订单”];
127               }
128
129               /**
130*过滤用于检索当前用户列表中的用户的查询参数。
131                 *
132*@自4.4.0起
133                 *
134*@param array$args传递给WP_User_Query的参数用于检索当前
135*用户列表。
136                 */
137               $个参数 = 应用程序筛选器( '用户列表表查询参数', $个参数 );
138
139               //查询此页面的用户ID。
140               $wp_user_search = 新的 WP_用户_查询( $个参数 );
141
142               $这个->项目 = $wp_user_search->获取结果();
143
144               $这个->设置页面参数(
145                       阵列(
146                               “total_items” => $wp_user_search->获取总计(),
147                               '每页(_P)'   => $users_per_page(每个页面),
148                       )
149               );
150       }
151
152       /**
153*输出“无用户”消息。
154         *
155*@自3.1.0起
156         */
157       公众的 功能 无项目(_I)() {
158               _e(电子)( “找不到用户。” );
159       }
160
161       /**
162*返回一个关联数组,其中列出了可以使用的所有视图
163*这张桌子。
164         *
165*提供角色列表和该角色的用户计数
166*过滤用户表。
167         *
168*@自3.1.0起
169         *
170*@全局字符串$role
171         *
172*@return string[]由视图键入的HTML链接数组。
173         */
174       受保护的 功能 获取视图(_V)() {
175               全球的 $角色;
176
177               $wp_roles($wp_roles) = wp_角色();
178
179               $count_users个 = ! wp_is_large_用户计数();
180
181               如果 ( $这个->是网站用户 ) {
182                       $网址 = “site-users.php?id=' . $这个->站点id;
183               } 其他的 {
184                       $网址 = '用户.php';
185               }
186
187               $角色链接 = 阵列();
188               $可用角色 = 阵列();
189               $all_text(全部_文本)   = __( '全部' );
190
191               如果 ( $count_users个 ) {
192                       如果 ( $这个->是网站用户 ) {
193                               切换到博客( $这个->站点id );
194                               $users_of_blog = 计数用户(_U)( “时间”, $这个->站点id );
195                               恢复当前日志();
196                       } 其他的 {
197                               $users_of_blog = count_users数();
198                       }
199
200                       $total_users个 = $users_of_博客['用户总数'];
201                       $可用角色 =& $users_of_blog['可用角色'];
202                       未设置( $users_of_blog );
203
204                       $all_text(全部_文本) = 把格式数据写成串(
205                               /*转换器:%s:用户数*/
206                               _nx(纳克斯)(
207                                       '所有<span class=“count”>(%s)</span>',
208                                       '所有<span class=“count”>(%s)</span>',
209                                       $total_users个,
210                                       '用户'
211                               ),
212                               编号_格式_i18n( $total_users个 )
213                       );
214               }
215
216               $角色链接[“全部”] = 阵列(
217                       “url”     => $网址,
218                       '标签'   => $all_text(全部_文本),
219                       “当前” => 空的( $角色 ),
220               );
221
222               foreach公司 ( $wp_roles($wp_roles)->获取名称(_N)() 作为 $this_角色 => $名称 ) {
223                       如果 ( $count_users个 && ! 发行( $可用角色[ $this_角色 ] ) ) {
224                               持续;
225                       }
226
227                       $名称 = translate_user_role(翻译_用户_角色)( $名称 );
228                       如果 ( $count_users个 ) {
229                               $名称 = 把格式数据写成串(
230                                       /*转换器:1:用户角色名称,2:用户数*/
231                                       __( “%1$s(%2$s)” ),
232                                       $名称,
233                                       数字格式i18n( $可用角色[ $this_role($this_role) ] )
234                               );
235                       }
236
237                       $角色链接[ $this_角色 ] = 阵列(
238                               “url”     => esc_url( 添加查询参数( “角色”, $this_角色, $网址 ) ),
239                               '标签'   => $名称,
240                               “当前” => $this_角色 === $角色,
241                       );
242               }
243
244               如果 ( ! 空的( $可用角色[“无”] ) ) {
245
246                       $名称 = __( '无角色' );
247                       $名称 = 把格式数据写成串(
248                               /*转换器:1:用户角色名称,2:用户数*/
249                               __( “%1$s(%2$s)” ),
250                               $名称,
251                               数字格式i18n( $可用角色[“无”] )
252                       );
253
254                       $角色链接[“无”] = 阵列(
255                               “url”     => esc_url( 添加查询参数( “角色”, “无”, $网址 ) ),
256                               '标签'   => $名称,
257                               “当前” => “无” === $角色,
258                       );
259               }
260
261               返回 $这个->获取视图链接( $角色链接 );
262       }
263
264       /**
265*检索此表中可用的批量操作的关联数组。
266         *
267*@自3.1.0起
268         *
269*@return array按操作键控的批量操作标签的数组。
270         */
271       受保护的 功能 获取bulk_actions() {
272               $个操作 = 阵列();
273
274               如果 ( 是多站点(_M)() ) {
275                       如果 ( 当前用户can( '删除用户' ) ) {
276                               $个操作['删除'] = __( '删除' );
277                       }
278               } 其他的 {
279                       如果 ( 当前用户can( '删除用户' ) ) {
280                               $个操作['删除'] = __( '删除' );
281                       }
282               }
283
284               //在批量操作下拉列表中添加密码重置链接。
285               如果 ( 当前用户can( '编辑用户' ) ) {
286                       $个操作['重置密码'] = __( '发送密码重置' );
287               }
288
289               返回 $个操作;
290       }
291
292       /**
293*输出控件以允许批量更改用户角色。
294         *
295*@自3.1.0起
296         *
297*@param string$which这是否在上面被调用(“top”)
298*或表格下方(“底部”)。
299         */
300       受保护的 功能 附加表格导航( $其中 ) {
301               $id(美元)       = “底部” === $其中 ? '新角色2' : '新角色(_R)';
302               $按钮_id = “底部” === $其中 ? '更改2' : '更改';
303               ?>
304<div class=“alignleft actions”>
305               <?php(电话) 如果 ( 当前用户can( 'promote_users' ) && $这个->有项目(_I)() ) : ?>
306<label class=“screen-reader-text”for=“<?php(电话) 回声 $id(美元); ?>">
307                       <?php(电话)
308                       /*翻译人员:隐藏的辅助功能文本*/
309                       _e(电子)( '将角色更改为&hellip;' );
310                       ?>
311</label>
312<select name=“<?php程序 回声 $id(美元); ?>“id=”<?php(电话) 回声 $id(美元); ?>">
313<选项值=“”><?php(电话) _e(电子)( '将角色更改为&hellip;' ); ?></选项>
314                       <?php(电话) wp_dropdown_孔(); ?>
315<选项值=“无”><?php程序 _e(电子)( ’&mdash;此站点没有角色&mdash;' ); ?></选项>
316</选择>
317                       <?php程序
318                       提交按钮( __( '更改' ), '', $按钮_id,  );
319               结尾;
320
321               /**
322*在包含批量角色更改控件的关闭div之前激发
323“用户”列表中的*。
324                 *
325*@自3.5.0起
326*@自4.6.0起添加了`$which`参数。
327                 *
328*@param string$which额外表导航标记的位置:“top”或“bottom”。
329                 */
330               do_操作( '限制管理用户', $其中 );
331               ?>
332</div>
333               <?php(电话)
334               /**
335*在tablenav中为用户关闭“actions”div后立即激发
336*列表。
337                 *
338*@自4.9.0起
339                 *
340*@param string$which额外表导航标记的位置:“top”或“bottom”。
341                 */
342               do_操作( “manage_users_extra_tablenav”, $其中 );
343       }
344
345       /**
346*捕获所需的批量操作并将其返回。
347         *
348*从基类实现重写以捕获
349*角色更改下拉列表。
350         *
351*@自3.1.0起
352         *
353*@return string所需的批量操作。
354         */
355       公众的 功能 当前动作() {
356               如果 ( 发行( $请求['更改'] ) ) {
357                       返回 “推广”;
358               }
359
360               返回 起源::当前_操作();
361       }
362
363       /**
364*获取列表表的列列表。
365         *
366*@自3.1.0起
367         *
368*@return string[]由列名键入的列标题数组。
369         */
370       公众的 功能 获取列() {
371               $列 = 阵列(
372                       “cb”       => '<input type=“checkbox”/>',
373                       '用户名' => __( '用户名' ),
374                       “名称”     => __( “名称” ),
375                       '电子邮件'   => __( '电子邮件' ),
376                       “角色”     => __( “角色” ),
377                       “帖子”   => _x个( “帖子”, '帖子类型常规名称' ),
378               );
379
380               如果 ( $这个->是网站用户 ) {
381                       未设置( $列[“帖子”] );
382               }
383
384               返回 $列;
385       }
386
387       /**
388*获取列表表的可排序列列表。
389         *
390*@自3.1.0起
391         *
392*@return数组可排序列的数组。
393         */
394       受保护的 功能 获取可移植列() {
395               $列 = 阵列(
396                       '用户名' => 阵列( '登录', , __( '用户名' ), __( '按用户名排序的表' ), “asc” ),
397                       '电子邮件'   => 阵列( '电子邮件', , __( '电子邮件' ), __( '表格按电子邮件排序' ) ),
398               );
399
400               返回 $列;
401       }
402
403       /**
404*生成列表表行。
405         *
406*@自3.1.0起
407         */
408       公众的 功能 显示行(_R)() {
409               //查询此页面的帖子计数。
410               如果 ( ! $这个->是网站用户 ) {
411                       $帖子计数 = count_many_users_posts数( 数组键( $这个->项目 ) );
412               }
413
414               foreach公司 ( $这个->项目 作为 $用户ID => $user_object(用户对象) ) {
415                       回声 "\n\t(不适用)" . $这个->单行(_R)( $用户对象, '', '', 发行( $帖子计数 ) ? $帖子计数[ $用户ID ] : 0 );
416               }
417       }
418
419       /**
420*在users.php管理面板上为单行生成HTML。
421         *
422*@自3.1.0起
423*@since 4.2.0不推荐使用`$style`参数。
424*@自4.4.0以来,“$role”参数已被弃用。
425         *
426*@param WP_User$User_object当前用户对象。
427*@param string$style已弃用。未使用。
428*@param string$role已弃用。未使用。
429*@param int$numposts可选。要为此用户显示的过帐计数。默认值
430*到零,如中所示,新用户发布的帖子为零。
431*@return string单行的输出。
432         */
433       公众的 功能 单行(_R)( $user_object(用户对象), $样式 = '', $角色 = '', $个 = 0 ) {
434               如果 ( ! ( $用户对象 运算符 WP_用户 ) ) {
435                       $用户对象 = 获取用户数据( (整数) $用户对象 );
436               }
437               $用户对象->滤波器 = '显示';
438               $电子邮件               = $user_object(用户对象)->用户邮件(_E);
439
440               如果 ( $这个->是网站用户 ) {
441                       $网址 = “site-users.php?id={$这个->站点id}&amp;";
442               } 其他的 {
443                       $网址 = “users.php?”;
444               }
445
446               $用户角色 = $这个->获取角色列表( $用户对象 );
447
448               //为此用户设置悬停操作。
449               $个操作     = 阵列();
450               $复选框   = '';
451               $超级管理员 = '';
452
453               如果 ( 是多站点(_M)() && 当前用户can( '管理网络用户' ) ) {
454                       如果 ( 阵列中(_A)( $用户对象->用户登录名, 获取超级管理员(), 真的 ) ) {
455                               $超级管理员 = “&mdash;” . __( “超级管理员” );
456                       }
457               }
458
459               //检查此行的用户是否可编辑。
460               如果 ( 当前用户can( '列表用户' ) ) {
461                       //设置用户编辑链接。
462                       $edit_link(编辑链接) = esc_url(
463                               添加查询参数(
464                                       “wp_http_referer”,
465                                       电流码( wp_unslash(取消刷新)( $_服务器[“请求URI”] ) ),
466                                       获取编辑用户链接( $用户对象->身份证件 )
467                               )
468                       );
469
470                       如果 ( 当前用户can( '编辑用户', $用户对象->身份证件 ) ) {
471                               $编辑           = “<strong><a href=\"{$edit_link(编辑链接)}\">{$user_object(用户对象)->用户登录名}</a>{$超级管理员}</strong><br/>“;
472                               $个操作['编辑'] = '<a href=“' . $edit_link(编辑链接) . '">' . __( '编辑' ) . “</a>”;
473                       } 其他的 {
474                               $编辑 = “<strong>{$user_object(用户对象)->用户登录}{$超级管理员}</strong><br/>“;
475                       }
476
477                       如果 ( ! 是多站点(_M)()
478                               && 获取当前用户id() !== $用户对象->身份证件
479                               && 当前用户can( '删除用户', $用户对象->身份证件 )
480                       ) {
481                               $个操作['删除'] = “<a class='submitdelete'href='” . wp_nonce_url( “users.php?action=删除用户=$user_object->ID", “散货用户” ) . "'>" . __( '删除' ) . “</a>”;
482                       }
483
484                       如果 ( 是多站点(_M)()
485                               && 当前用户can( '删除用户', $用户对象->身份证件 )
486                       ) {
487                               $个操作['删除'] = “<a class='提交删除'href='” . wp_nonce_url( $网址 . “action=删除用户=$user_object->ID", “散货用户” ) . "'>" . __( '删除' ) . “</a>”;
488                       }
489
490                       //如果不为空,请添加指向用户作者档案的链接。
491                       $author_posts_url = 获取作者文章url( $user_object(用户对象)->身份证件 );
492                       如果 ( $author_posts_url ) {
493                               $个操作['视图'] = 把格式数据写成串(
494                                       '<a href=“%s”aria-label=“%s”>%s</a>',
495                                       esc_url( $author_posts_url ),
496                                       /*转换器:%s:作者的显示名称*/
497                                       esc属性( 把格式数据写成串( __( '按%s查看帖子' ), $用户对象->显示_名称 ) ),
498                                       __( '视图' )
499                               );
500                       }
501
502                       //添加链接以通过电子邮件向用户发送重置密码链接。
503                       如果 ( 获取当前用户id() !== $用户对象->身份证件
504                               && 当前用户can( '编辑用户', $用户对象->身份证件 )
505                               && 真的 === wp_is_password_reset_allowed用户( $用户对象 )
506                       ) {
507                               $个操作['重置密码'] = “<a class='resetpassword'href='” . wp_nonce_url( “users.php?action=resetpassword&amp;users=$user_object->ID", “散货用户” ) . "'>" . __( '发送密码重置' ) . “</a>”;
508                       }
509
510                       /**
511*过滤“用户”列表中每个用户下显示的操作链接。
512                         *
513*@自2.8.0起
514                         *
515*@param string[]$actions要显示的操作链接数组。
516*单个站点的默认“编辑”、“删除”,以及
517*多站点的“编辑”和“删除”。
518*@param WP_User$User_object当前列出用户的WP_User对象。
519                         */
520                       $个操作 = 应用筛选器( “user_row_actions”, $个操作, $用户对象 );
521
522                       //角色类。
523                       $role_classes = esc属性( 内爆( ' ', 数组键( $用户角色 ) ) );
524
525                       //设置复选框(因为用户是可编辑的,否则为空)。
526                       $复选框 = 把格式数据写成串(
527                               '<input type=“checkbox”name=“users[]”id=“user_%1$s”class=“%2$s”value=“%1$s”/>' .
528                               '<label for=“user_%1$s”>%3$s,
529                               $用户对象->身份证件,
530                               $role_classes,
531                               /*转换器:隐藏的辅助功能文本。%s: 用户登录*/
532                               把格式数据写成串( __( '选择%s' ), $用户对象->用户登录名 )
533                       );
534
535               } 其他的 {
536                       $编辑 = “<strong>{$用户对象->用户登录名}{$超级管理员}</strong>“;
537               }
538
539               $头像 = 获取增值税( $用户对象->身份证件, 32 );
540
541               //以逗号分隔的用户角色列表。
542               $角色列表 = 内爆( ', ', $用户角色 );
543
544               $行 = “<tr id='用户-$user_object->ID'>";
545
546               列表( $列, $隐藏, $可排序, $主要 ) = $这个->获取列信息();
547
548               foreach公司 ( $列 作为 $列名称 => $column_display_name($column显示名称) ) {
549                       $类 = "$列名称立柱-$列名称";
550                       如果 ( $主要 === $列名称 ) {
551                               $类 .= “has-row-actions专栏-主编”;
552                       }
553                       如果 ( “帖子” === $列名称 ) {
554                               $类 .= “num”; //该列的特殊情况。
555                       }
556
557                       如果 ( 阵列中(_A)( $列名称, $隐藏, 真的 ) ) {
558                               $类 .= “隐藏”;
559                       }
560
561                       $数据 = '数据名称=“' . esc属性( wp_strip_all标签( $column_display_name($column显示名称) ) ) . '"';
562
563                       $个属性 = “类='$类'$数据";
564
565                       如果 ( “cb” === $列名称 ) {
566                               $行 .= “<th scope='row'class='check-column'>$复选框</th>“;
567                       } 其他的 {
568                               $行 .= “<td$个属性>";
569                               转换 ( $列名称 ) {
570                                       案例 '用户名':
571                                               $行 .= "$化身 $编辑";
572                                               打破;
573                                       案例 “名称”:
574                                               如果 ( $user_object(用户对象)->第一个名称 && $用户对象->last_name(姓氏) ) {
575                                                       $行 .= 把格式数据写成串(
576                                                               /*翻译:1:用户的名字,2:姓氏*/
577                                                               _x个( “%1$s%2$s”, '根据名字和姓氏显示名称' ),
578                                                               $用户对象->第一个名称,
579                                                               $用户对象->last_name(姓氏)
580                                                       );
581                                               } 埃尔塞夫 ( $用户对象->第一个名称 ) {
582                                                       $行 .= $用户对象->第一个名称;
583                                               } 埃尔塞夫 ( $user_object(用户对象)->last_name(姓氏) ) {
584                                                       $行 .= $用户对象->last_name(姓氏);
585                                               } 其他的 {
586                                                       $行 .= 把格式数据写成串(
587                                                               '<span aria-hidden=“true”>&#8212</span>%s,
588                                                               /*翻译器:隐藏的辅助功能文本*/
589                                                               _x个( “未知”, “名称” )
590                                                       );
591                                               }
592                                               打破;
593                                       案例 '电子邮件':
594                                               $行 .= “<a href='” . esc_url( “”发送至:“$电子邮件" ) . "'>$电子邮件</a>“;
595                                               打破;
596                                       案例 “角色”:
597                                               $行 .= esc_html( $角色列表 );
598                                               打破;
599                                       案例 “帖子”:
600                                               如果 ( $numposts(美元) > 0 ) {
601                                                       $行 .= 把格式数据写成串(
602                                                               '<a href=“%s”class=“edit”>%s<span aria-hidden=“true”>%s</span><span class=“screen-reader-text”>%s,
603                                                               “edit.php?作者={$用户对象->身份证件}",
604                                                               $个,
605                                                               把格式数据写成串(
606                                                                       /*翻译器:隐藏的辅助功能文本。%s: 职位数量*/
607                                                                       _n个( “此作者的%s帖子”, “此作者的%s篇文章”, $个 ),
608                                                                       数字格式i18n( $个 )
609                                                               )
610                                                       );
611                                               } 其他的 {
612                                                       $行 .= 0;
613                                               }
614                                               打破;
615                                       违约:
616                                               /**
617*过滤用户列表表中自定义列的显示输出。
618                                                 *
619*@自2.8.0起
620                                                 *
621*@param string$output自定义列输出。默认为空。
622*@param string$column_name列名。
623*@param int$user_id当前列表用户的id。
624                                                 */
625                                               $行 .= 应用程序筛选器( '管理用户自定义列', '', $列名称, $用户对象->身份证件 );
626                               }
627
628                               如果 ( $主要 === $列名称 ) {
629                                       $行 .= $这个->行操作(_A)( $个操作 );
630                               }
631                               $行 .= “</td>”;
632                       }
633               }
634               $行 .= “</tr>”;
635
636               返回 $行;
637       }
638
639       /**
640*获取默认主列的名称。
641         *
642*@自4.3.0起
643         *
644*@return string默认主列的名称,在本例中为“用户名”。
645         */
646       受保护的 功能 获取默认主列名称() {
647               返回 '用户名';
648       }
649
650       /**
651*返回给定用户对象的已翻译用户角色名称数组。
652         *
653*@自4.4.0起
654         *
655*@param WP_User$User_object WP_User对象。
656*@return string[]由角色键入的用户角色名称数组。
657         */
658       受保护的 功能 获取角色列表( $用户对象 ) {
659               $wp_角色 = wp_角色();
660
661               $role_list($role_list) = 阵列();
662
663               foreach公司 ( $用户对象->角色 作为 $角色 ) {
664                       如果 ( 发行( $wp_角色->角色_名称[ $角色 ] ) ) {
665                               $角色列表[ $角色 ] = translate_user_role(翻译_用户_角色)( $wp_roles($wp_roles)->角色名称[ $角色 ] );
666                       }
667               }
668
669               如果 ( 空的( $角色列表 ) ) {
670                       $角色列表[“无”] = _x个( “无”, '无用户角色' );
671               }
672
673               /**
674*过滤用户的已翻译角色名称返回数组。
675                 *
676*@自4.4.0起
677                 *
678*@param string[]$role_list由角色键入的已翻译用户角色名称数组。
679*@param WP_User$User_object WP_User对象。
680                 */
681               返回 应用筛选器( '获取角色列表', $角色列表, $用户对象 );
682       }
683}
注:请参见Trac浏览器获取有关使用存储库浏览器的帮助。