如何在WordPress的users.php页面已注册用户列表中显示元数据
实现WordPress后台用户列表展示自定义用户元数据的方法
你可以通过WordPress自带的钩子实现该需求,只需将对应代码添加到当前主题的functions.php文件,或者自定义功能插件中即可生效,具体实现方式如下:
- 第一步:注册自定义列表列
首先通过manage_users_columns过滤器在用户列表表头添加你需要展示的元数据对应的列,示例代码如下:
// 新增用户列表自定义表头列 add_filter('manage_users_columns', 'add_custom_user_meta_columns'); function add_custom_user_meta_columns($columns) { // 可根据自己的需求增删修改列配置,数组键为用户元数据的键名,值为列表显示的列名 $columns['user_phone'] = '联系电话'; $columns['register_source'] = '注册来源'; return $columns; }
- 第二步:填充列对应的用户元数据内容
通过manage_users_custom_column钩子,在对应列输出对应用户的元数据值:
// 渲染自定义列的元数据内容 add_action('manage_users_custom_column', 'render_custom_user_meta_content', 10, 3); function render_custom_user_meta_content($output, $column_name, $user_id) { // 匹配第一步中定义的元数据键名,返回对应的元数据值 if ($column_name === 'user_phone') { $phone = get_user_meta($user_id, 'user_phone', true); return $phone ? esc_html($phone) : '-'; } if ($column_name === 'register_source') { $source = get_user_meta($user_id, 'register_source', true); return $source ? esc_html($source) : '-'; } return $output; }
- 可选配置:调整列宽度
如果觉得自定义列宽度不合适,可以添加以下代码调整列宽:
// 后台自定义用户列样式调整 add_action('admin_head', 'adjust_custom_user_column_style'); function adjust_custom_user_column_style() { echo '<style> .column-user_phone { width: 120px; } .column-register_source { width: 150px; } </style>'; }
参考效果示意图:
注意:你可以根据实际需要展示的用户元数据键名,替换上述代码中的
user_phone、register_source以及对应的列名称即可。
内容的提问来源于stack exchange,提问作者juan
相关产品推荐
相关产品推荐

