WordPress如何在users.php用户列中将自定义元数据转为验证状态文字
解决方案
你只需要调整show_custom_column_values函数的取值判断逻辑即可,修改后的完整代码如下:
function add_custom_column_name($columns) { $columns['columns_array_name'] = 'Verification'; return $columns; } function show_custom_column_values($value, $column_name, $user_id) { if ( 'columns_array_name' == $column_name ) { $is_banned = get_user_meta( $user_id, '_yith_wcact_user_ban', true ); // 转换为布尔类型判断,兼容存储为字符串格式的1/0场景 return boolval($is_banned) ? 'Unauthorised' : 'Verified'; } // 非目标列返回原始值,不影响其他列正常展示 return $value; } add_filter('manage_users_columns', 'add_custom_column_name'); add_action('manage_users_custom_column', 'show_custom_column_values', 10, 3);
修改说明
- 新增了字段值的布尔转换逻辑,避免WordPress数据库存储的布尔值变为字符串
'1'/'0'时判断失效 - 修正了原代码中非目标列固定返回
Unauthorised的错误,改为返回原始列值,不会干扰其他用户列表列的正常显示
内容的提问来源于stack exchange,提问作者Ross
相关产品推荐
相关产品推荐

