'user_id', 'compare' => '=', 'value' => $user_id)); return '' . number_format_i18n($count) . ''; default: } return $val; } /** * Sort By Users Visit * * @param $columns * @return mixed */ function sort_by_custom_field($columns) { $columns['visits'] = 'visit'; return $columns; } /** * Pre User Query Join by visitors * * @param $user_query */ public function modify_pre_user_query($user_query) { global $wpdb; // Check in Admin if (!is_admin()) { return; } // If order-by. if (isset($user_query->query_vars['orderby']) and isset($user_query->query_vars['order']) and $user_query->query_vars['orderby'] == 'visit') { // Get global Variable $order = $user_query->query_vars['order']; // Select Field $user_query->query_fields .= ", (select Count(*) from " . DB::table("visitor") . " where {$wpdb->users}.ID = " . DB::table("visitor") . ".user_id) as user_visit "; // And order by it. $user_query->query_orderby = " ORDER BY user_visit $order"; } return $user_query; } /** * Remove User from Visitors Table when user is deleted. * * @param $user_id */ public function modify_delete_user($user_id) { global $wpdb; $wpdb->update(DB::table("visitor"), array('user_id' => 0), array('user_id' => $user_id), array('%d'), array('%d')); } } new Admin_User;