Display user meta data values in admin user list custom columns in WordPress
Try the following lightly revisited code with some additions for account_vatnr
and account_companyname
additional custom fields:
// Add custom columns to Admin users listadd_action('manage_users_columns', 'add_custom_users_columns', 10, 1 );function add_custom_users_columns( $columns ) { unset($columns['posts']); $columns['account_verification'] = __('Verification Status'); $columns['account_vatnr'] = __('VAT Nr'); $columns['account_companyname'] = __('Company Name'); return $columns;}// fetching the verification status, thanks to LoicTheAztecadd_filter('manage_users_custom_column', 'add_data_to_custom_users_columns', 10, 3);function add_data_to_custom_users_columns( $value, $column_name, $user_id ) { if ( 'account_verification' == $column_name ) { if( get_user_meta( $user_id, 'is_activated', true ) == 1 ) { $value = '<span style="color:green;font-weight:bold;">Verified</span>'; } else { $value = '<span class="na" style="color:grey;"><em>Not Verified</em></span>'; } } elseif( 'account_vatnr' == $column_name ) { if( $vat_nr = get_user_meta( $user_id, 'account_vatnr', true ) ) { $value = '<span style="color:green;font-weight:bold;">' . $vat_nr . '</span>'; } else { $value = '<span class="na" style="color:grey;"><em>N/a</em></span>'; } } elseif( 'account_companyname' == $column_name ) { if( $company = get_user_meta( $user_id, 'account_companyname', true ) ) { $value = '<span style="color:green;font-weight:bold;">' . $company . '</span>'; } else { $value = '<span class="na" style="color:grey;"><em>N/a</em></span>'; } } return $value;}
Code goes in functions.php file of your active child theme (active theme). Tested and works.
From this registered data in wp_usermeta
database table:
You will get the following display like in Admin users list for your custom columns: