wp-admin/users.php Add a column with last name

3 Steps

  1. Add custom column
  2. Fill data in custom column
  3. Make the column sortable
//Add custom column
function my_custom_wp_filter_add_user_lastname_column($columns) {
    $columns['user_lastname'] = 'Last Name';
    return $columns;
}
add_filter('manage_users_columns', 'my_custom_wp_filter_add_user_lastname_column');

//Fill in value in custom column
function my_custom_wp_filter_add_user_lastname_column_value( $column_output, $column_name, $user_id ) {
    $user = get_userdata( $user_id );
    if ( 'user_lastname' == $column_name ) {
        return $user->last_name;
    }
    return $column_output;
}
add_filter('manage_users_custom_column', 'my_custom_wp_filter_add_user_lastname_column_value', 10, 3);


//Make the column sortable
function my_custom_wp_filter_make_user_lastname_column_sortable( $colums_to_sort ) {
    $colums_to_sort['user_lastname'] = 'last_name';
    return $colums_to_sort;
}
add_filter('manage_users_sortable_columns', 'my_custom_wp_filter_make_user_lastname_column_sortable', 10, 1);

Edit : Response to requirement of ability to sort by user’s last name

WordPress does not allow users to be sorted by last_name by default.
See ‘orderby’ section in WP_User_Query

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)