manage_users_custom_column
云策文档标注
概述
manage_users_custom_column 是一个 WordPress 过滤器钩子,用于自定义用户列表表中自定义列的显示输出。它允许开发者修改或添加特定列的内容,基于列名和用户ID。
关键要点
- 这是一个过滤器钩子,用于过滤用户列表表中自定义列的输出。
- 参数包括 $output(自定义列输出,默认为空)、$column_name(列名)和 $user_id(当前列出用户的ID)。
- 在 WP_Users_List_Table::single_row() 和 WP_MS_Users_List_Table::column_default() 中被调用,用于生成用户列表的行内容。
- 自 WordPress 2.8.0 版本引入。
代码示例
// 添加自定义列到用户列表表
function custom_add_user_id_column($columns) {
$columns['user_id'] = 'User ID';
return $columns;
}
add_filter('manage_users_columns', 'custom_add_user_id_column');
// 为自定义列添加内容
function custom_show_user_id_column_content($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
if ( 'user_id' == $column_name )
return $user_id;
return $value;
}
add_filter('manage_users_custom_column', 'custom_show_user_id_column_content', 10, 3);注意事项
- 使用此钩子时,需要先通过 manage_users_columns 过滤器添加自定义列,然后使用 manage_users_custom_column 来填充列内容。
- 注意参数顺序:$value(输出)、$column_name(列名)、$user_id(用户ID),在 add_filter 中设置优先级和参数数量。
- 用户贡献笔记中提到 manage_users_columns 钩子仍然存在,可用于添加或移除列,但需确认其文档和代码中的可用性。
原文内容
Filters the display output of custom columns in the Users list table.
Parameters
$outputstring-
Custom column output. Default empty.
$column_namestring-
Column name.
$user_idint-
ID of the currently-listed user.
Source
$row .= apply_filters( 'manage_users_custom_column', '', $column_name, $user_object->ID );
Changelog
| Version | Description |
|---|---|
| 2.8.0 | Introduced. |
Skip to note 3 content
Muhammad Faizan Haidar
//Adds Custom Column To Users List Table function custom_add_user_id_column($columns) { $columns['user_id'] = 'User ID'; return $columns; } add_filter('manage_users_columns', 'custom_add_user_id_column'); //Adds Content To The Custom Added Column function custom_show_user_id_column_content($value, $column_name, $user_id) { $user = get_userdata( $user_id ); if ( 'user_id' == $column_name ) return $user_id; return $value; } add_filter('manage_users_custom_column', 'custom_show_user_id_column_content', 10, 3);Skip to note 4 content
thejaydip
To remove the column from Users List Table.
function wpdocs_remove_users_columns( $columns ) { unset( $columns['name'] ); return $columns; } add_filter( 'manage_users_columns', 'wpdocs_remove_users_columns' );