要在WordPress后台用户列表中搜索用户自定义字段(user_meta),您可以通过编写自定义函数和使用筛选器实现。下面是实现此功能的步骤:
- 打开
functions.php
文件或您自定义的主题文件。 - 添加以下代码段到文件中:
// 添加搜索用户自定义字段的过滤器
add_action('pre_user_query', 'search_user_meta');
function search_user_meta($user_query) {
// 获取搜索关键字
$search_term = isset($_REQUEST['s']) ? sanitize_text_field($_REQUEST['s']) : '';
// 检查是否存在搜索关键字
if (!empty($search_term)) {
// 设置用户查询参数
$user_query->query_where .= " OR (um.meta_key = 'your_custom_field_key' AND um.meta_value LIKE '%{$search_term}%')";
}
}
// 添加自定义字段列到用户列表
add_action('manage_users_columns', 'add_custom_field_column');
function add_custom_field_column($columns) {
$columns['custom_field'] = 'Custom Field';
return $columns;
}
// 显示自定义字段值
add_action('manage_users_custom_column', 'display_custom_field_value', 10, 3);
function display_custom_field_value($value, $column_name, $user_id) {
if ($column_name === 'custom_field') {
// 替换'your_custom_field_key'为您实际的自定义字段键名
$custom_field_value = get_user_meta($user_id, 'your_custom_field_key', true);
$value = !empty($custom_field_value) ? $custom_field_value : 'N/A';
}
return $value;
}
请确保将上述代码中的 'your_custom_field_key'
替换为您想要搜索的用户自定义字段的键名。
- 保存文件并重新加载WordPress后台。
现在,您应该能够在用户列表页面的搜索栏中输入关键字并根据用户自定义字段进行搜索。搜索结果将显示在用户列表中,并通过添加名为 "Custom Field" 的自定义字段列来显示相关自定义字段的值。
0 个评论