Kullanıcıları Özel Alanlara Göre Sıralama

'Black-Dios

Uzman üye
21 Ara 2013
1,136
0
İzmir
kullanicilari-ozel-alanlara-gore-siralama.png


Kullanıcıları eklenme tarihine göre değilde kendi belirlediğiniz sıraya göre çekme gereksinimi duyabilirsiniz. Bunun için ilk önce bir tane her kullanıcılar sayfasına özel alan (custom field) oluşturuyoruz.

Bu durum hemen hemen yazılarda ki gibi aynı gözükse de biraz can sıkabiliyor. get_posts() argümanındaki gibi ****_key kullanıyormuş gibi yapacağız ama aslında kullanmayacağız
icon_smile.gif


Kullanıcılar sayfasına eklediğimiz özel alanımızı aşağıdaki alana (custom_field_sort) ‘la değiştirdik mi istediğimiz sonuca ulaşabileceksiniz.


Kod:
<?php
/* Sorgu argümanlarımız */
$args  = array(
    'fields' => 'all_with_****',
    '****_query' => array(
        array(
        'key' => 'custom_field_sort', // Kullanıcılar sayfasına eklediğimiz özel alan adı.
        )
));
 
//get_users ile sorgumuzu çalıştırıp $users değişkenine atıyoruz.
$users = get_users( $args );
 
/*
 * Can alıcı fonksiyon, özel alanlara göre sıralama yapan
 * mucizevi velet. Bu yazımızın ana kahramanı!
 */
function cmp($a, $b){
  if ($a->custom_field_sort == $b->custom_field_sort) {
    return 0;
  }
  return ($a->custom_field_sort < $b->custom_field_sort) ? -1 : 1;
}
 
/*
 * usort fonksiyonu ile $users dizi elamanlarını (Çektiğimiz
 * kullanıcıları) cmp fonksiyonumuzla filtreleyip küçükten
 * büyüğe sıralıyoruz.
 *
 */
 
usort($users, 'cmp');
 
/*
 * Oluşturduğumuz özel alana göre kullanıcı listemiz
 * istediğimiz sonucu verecektir.
 */
foreach ($users as $user) {
  // ...
}
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.