• 13-07-2009, 01:58:44
    #1
    Merhaba arkadaşlar.

    1- <?php list_authors(TRUE, FALSE, FALSE); ?>

    2- <?php wp_list_authors('show_fullname=1&optioncount=1&exc lude_admin=0&style=list'); ?>

    komutlarıyla siteye yazı yazan yazarları ve kaç yazı yazdıklarını listeleyebiliyorum.

    Fakat listelediğimde alfabetik sıra ile çıkıyor. Ben bu listenin en çok yazı yazandan en az yazı yazana kadar listelenmesini ve en fazla 10 nickin listelenmesini istiyorum. Nasıl yapabileceğim hakkında bir fikri olan varsa, buraya yazarsa sevinirim. Teşekkürler.
  • 13-07-2009, 08:41:34
    #2
    AÇ: wp-includes/author-template.php
    BUL:
        /** @todo Move select to get_authors(). */
        $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY display_name");
    
        $author_count = array();
        foreach ((array) $wpdb->get_results("SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author") as $row) {
            $author_count[$row->post_author] = $row->count;
        }
    BUNUNLA DEĞİŞTİR:
        /** @todo Move select to get_authors(). */
        //$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY display_name");
    
        $author_count = array();
        foreach ((array) $wpdb->get_results("SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author ORDER BY COUNT(ID) DESC") as $row) {
            $author_count[$row->post_author] = $row->count;
            // Post sayısına göre sıralama R10.net Niphell
            $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "");
    
        }
    KAYDET ve KAPAT
    SONUÇ: