I found that when I customized the columns on the User panel the Disabled column that is provided with the plugin stopped working. I simply added it with my other custom column and it is working fine. Here is that snippet from functions.php
//add ID and Disabled to User panel list page
function add_user_columns( $defaults ) {
$defaults[‘id’] = __(‘ID’, ‘user-column’);
$defaults[‘disabled’] = __(‘Disabled’, ‘user-column’);
return $defaults;
}
function add_custom_user_columns($value, $column_name, $id) {
if( $column_name == ‘id’ ) {
return xprofile_get_field_data(‘Contact_Id’, $id);
}
if( $column_name == ‘disabled’ ) {
return get_the_author_meta( ‘ja_disable_user’, $id ) ;
}
}
add_action(‘manage_users_custom_column’, ‘add_custom_user_columns’, 15, 3);
add_filter(‘manage_users_columns’, ‘add_user_columns’, 15, 1);
function user_sortable_columns( $columns ) {
$columns[‘id’] = ‘ID’;
$columns[‘disabled’] = ‘Disabled’;
return $columns;
}
add_filter( ‘manage_users_sortable_columns’, ‘user_sortable_columns’ );
// Handle the sorting of ID and Disabled columns
add_action(‘pre_user_query’, ‘my_user_query’);
function my_user_query($userquery){
if(‘ID’==$userquery->query_vars[‘orderby’]) {//check if our column is the column being sorted
global $wpdb;
$userquery->query_from .= ” LEFT OUTER JOIN ” . $wpdb->prefix . “bp_xprofile_data AS xprofile ON ($wpdb->users.ID = xprofile.user_id) “;//note use of alias
$userquery->query_where .= ” AND xprofile.field_id = 19 “;//which meta are we sorting with?
$userquery->query_orderby = ” ORDER BY cast(xprofile.value as unsigned) “.($userquery->query_vars[“order”] == “ASC” ? “asc ” : “desc “);//set sort order
}
if(‘Disabled’==$userquery->query_vars[‘orderby’]) {//check if our column is the column being sorted
global $wpdb;
$userquery->query_from .= ” LEFT OUTER JOIN ” . $wpdb->prefix . “usermeta AS meta ON ($wpdb->users.ID = meta.user_id) “;//note use of alias
$userquery->query_where .= ” AND meta.meta_key = ‘ja_disable_user’ “;//which meta are we sorting with?
$userquery->query_orderby = ” ORDER BY cast(meta.meta_value as unsigned) “.($userquery->query_vars[“order”] == “ASC” ? “asc ” : “desc “);//set sort order
}
}