Site icon Hip-Hop Website Design and Development

Sort column in Users wp-admin Tab

I created a new column in the Users Admin Tab called "Listings". Each line is a number which means how many Listings an user has.

//// ADD THE NEW COLUMN
add_filter( 'manage_users_columns', 'add_listing_count_column' );
function add_listing_count_column( $columns ) {
    $columns['Listings'] = 'Listings'; // 
    return $columns;}


// FILL THE NEW COLUMN
add_filter( 'manage_users_custom_column', 'add_listing_count_column_row', 10, 3 );
function add_listing_count_column_row( $row_output, $column_id_attr, $user_id ) {
if ( $column_id_attr == 'Listings') {
        return count_user_posts( $user_id, 'job_listing' );
    }
    return $row_output;}

I want to make that column sortable.. But it keeps sorting by username… Any idea what could it be?

// MAKE THE NEW COLUMN SORTABLE
add_filter( 'manage_users_sortable_columns', 'add_listing_count_column_sortable',10,3 );
function add_listing_count_column_sortable( $columns ) {
    return wp_parse_args( array( 'Listings' => 'Listings' ), $columns );
}

 add_action( 'pre_get_users', 'smartwp_sort_last_login_column' );
function smartwp_sort_last_login_column( $query ) {
    if ( ! is_admin() ) {
        return $query;
    }
     $screen = get_current_screen();
    if ( isset( $screen->id ) && $screen->id !== 'users' ) {
        return $query;
    }
     if ( isset( $_GET[ 'orderby' ] ) && $_GET[ 'orderby' ] == 'Listings' ) {
        $query->query_vars['orderby'] = 'post_count';
    }
     return $query;
}