• 21-10-2010, 23:31:03
    #1
    merhaba arkadaşlar... ben yazılara yapılan yorumlardaki toplam yazar sayısının çıktısını almak istiyorum :/ bir kaç gündür üzerinden uğraşıyorum ama sonuç alamadım :/ tam olarak yapmak istediğim! herhangi bir yazıda, mesela 20 tane yorum var ve bu yorumların 5'ini ben diğer 15'inde tamamınıda farklı 15 kişi yazmış... bu yazıdaki toplam yazar sayısı 16 oluyor.. işte buna benzer e-posta adresi aynı olan yazar 20 tane yorum yazsada çıktıda onu 1 kez saysın istiyorum vs.vs.vs. yazılımcı olmadığım için hikaye gibi anlatıyorum ama yazılımcı arkadaşlar tam olarak ne istediğimi anlamıştır herhalde...

    neyse kıssadan hisse! ben bir kod şablonu hazırladım... sorunumla ilgili bilgisi olan arkadaş bana hazırladığım kodda ki yanlışı söyleyip! nasıl sorunsuz çıktı alabileceğimle ilgili yardımcı olabilir mi?

    global $post, $comment;
    $yaziID = $post->ID;
    $E_posta = $comment->comment_author_email;
    $toplamYazar = $wpdb->get_var($wpdb->prepare("SELECT COUNT($wpdb->comments.comment_author) FROM $wpdb->comments WHERE $wpdb->comments.comment_post_ID = " . $yaziID ." AND $wpdb->comments.comment_author_email = " . $E_posta ." GROUP BY $wpdb->comments.comment_author"));
    echo '<p>' . $toplamYazar. '</p>';
  • 22-10-2010, 08:57:21
    #2
    Üyeliği durduruldu
    Burda ki eklenti sitede en çok yorum yapanları göstermeye yarıyor.İsteğine göre uyarlayabilirsin. Eklemen gereken kod linkte var. UMarım işine yarar kolay gelsin.
  • 22-10-2010, 12:24:29
    #3
    KonyaShell adlı üyeden alıntı: mesajı görüntüle
    Burda ki eklenti sitede en çok yorum yapanları göstermeye yarıyor.İsteğine göre uyarlayabilirsin. Eklemen gereken kod linkte var. UMarım işine yarar kolay gelsin.
    bu eklentiyi daha önce görmemiştim. şimdi biraz kurcaladım ama yine sonuç alamadım :/
  • 22-10-2010, 15:48:46
    #4
    $wpdb->prepare o şekilde kullanamazsınız

    global $wpdb, $post;
    $yaziID = $post->ID;
    $toplam = $wpdb->get_var($wpdb->prepare("SELECT COUNT( DISTINCT comment_author_email ) FROM $wpdb->comments WHERE comment_post_ID = %d"), $yaziID);
    echo '<p>' . $toplam. '</p>';
    bu kod eğer $post değişkenini alabiliyorsanız doğru sonucu verecektir size. yani group değil de distinct kullanmanız gerekiyor

    ayrıca bu farklı eposta adreslerine sahip kişilere göre sayı veriyor, comment_author_email yazan kısmı comment_author olarak değiştirirseniz, yorum yazarına göre sonuç verecektir
  • 23-10-2010, 15:47:43
    #5
    seemsiyah adlı üyeden alıntı: mesajı görüntüle
    $wpdb->prepare o şekilde kullanamazsınız

    global $wpdb, $post;
    $yaziID = $post->ID;
    $toplam = $wpdb->get_var($wpdb->prepare("SELECT COUNT( DISTINCT comment_author_email ) FROM $wpdb->comments WHERE comment_post_ID = %d"), $yaziID);
    echo '<p>' . $toplam. '</p>';
    bu kod eğer $post değişkenini alabiliyorsanız doğru sonucu verecektir size. yani group değil de distinct kullanmanız gerekiyor

    ayrıca bu farklı eposta adreslerine sahip kişilere göre sayı veriyor, comment_author_email yazan kısmı comment_author olarak değiştirirseniz, yorum yazarına göre sonuç verecektir
    verdiğin örnek çalışıyor... ayrıca hatalarımı açıklaman, bana çok şey öğretti. çok teşekkür ederim seemsiyah
  • 23-10-2010, 15:55:19
    #6
    NarcotiqTR adlı üyeden alıntı: mesajı görüntüle
    verdiğin örnek çalışıyor... ayrıca hatalarımı açıklaman, bana çok şey öğretti. çok teşekkür ederim seemsiyah
    önemli değil. siz de ileride bir başkasına yardım edersiniz, ödeşmiş oluruz
  • 24-10-2010, 14:04:45
    #7
    tabikide teşekkürler...