Untitled
unknown
plain_text
a year ago
1.8 kB
10
Indexable
// Add a custom column to the users table add_filter('manage_users_columns', 'add_custom_user_column'); function add_custom_user_column($columns) { $columns['account_type'] = 'Account Type'; return $columns; } // Populate the custom column with data add_action('manage_users_custom_column', 'show_custom_user_column_content', 10, 3); function show_custom_user_column_content($output, $column_name, $user_id) { if ($column_name == 'account_type') { $account_type = get_user_meta($user_id, 'smuac_account_type', true); if ($account_type !== 'multiaccount') { return 'Main Account'; } else { $parent_id = get_user_meta($user_id, 'smuac_account_parent', true); if ($parent_id) { $parent_user = get_userdata($parent_id); if ($parent_user) { $parent_username = $parent_user->user_login; $parent_edit_link = get_edit_user_link($parent_id); return 'Subaccount of <a href="' . $parent_edit_link . '">' . $parent_username . '</a>'; } } return 'Subaccount'; } } return $output; } // Make the column sortable add_filter('manage_users_sortable_columns', 'make_custom_user_column_sortable'); function make_custom_user_column_sortable($columns) { $columns['account_type'] = 'account_type'; return $columns; } // Handle the sorting of the custom column add_action('pre_get_users', 'sort_custom_user_column'); function sort_custom_user_column($query) { if (!is_admin() || !$query->is_main_query()) { return; } if ('account_type' === $query->get('orderby')) { $query->set('meta_key', 'smuac_account_type'); $query->set('orderby', 'meta_value'); } }
Editor is loading...
Leave a Comment