Blogger en çok yorum yapanlar eklentisi

22 Eylül, 2017
En çok yorum yapanlar eklentisi
En çok yorum yapanlar eklentisi
Blogger'a (blogspot) en çok yorum yapanlar eklentisi nasıl eklenir? En çok yorum yapanların profil resimleriyle birlikte listelendiği harika bir eklenti, en çok yorum yapanlar eklentisi...

Yorumlar aslında blog sayfalarının olmazsa olmazlarıdır. Kişisel olarak paylaşılan düşüncelere yapılan yorumlar yazarı doğru yönlendirir ve ilerde daha güzel, daha kaliteli paylaşımların yapılmasını sağlar. Bu açıdan bakıldığında da kimlerin en çok katkıda bulunduğunu bilmek önemlidir.
En çok yorum yapanlar listesi
En çok yorum yapanlar listesi
Yukarıda yer alan görsel bu eklentinin (en çok yorum yapanlar) canlı görünümü. Bu arada yorumlarıyla bana ve bloguma katkıda bulunan arkadaşlarıma teşekkür ederim.

Şimdi gelelim en çok yorum yapanlar eklentisini blogumuza eklemeye


İlk olarak Blogger kullanıcı panelinden Yerleşim sekmesini seçiyoruz. Ardından açılan sayfada dilediğimiz alan için Gadget Ekle ve son olarak seçeneklerden HTML/JavaScript Ekle yi tercih edip, aşağıdaki kodları ekliyoruz.
<style type="text/css">
.top-commentators {
margin: 3px 0;
border-bottom: 1px dotted #ccc;
}
.avatar-top-commentators {
vertical-align:middle;
border-radius: 30px;
}
.top-commentators .commenter-link-name {
padding-left:0;
}
</style>
<script type="text/javascript">
var maxTopCommenters = 8;
var minComments = 1;  
var numDays = 0;      
var excludeMe = true;  
var excludeUsers = ["Anonymous", "someotherusertoexclude"];
var maxUserNameLength = 42;
//
var txtTopLine = '<b>[#].</b> [image] [user] ([count])';
var txtNoTopCommenters = 'No top commentators at this time.';
var txtAnonymous = '';
//
var sizeAvatar = 33;
var cropAvatar = true;
//
var urlNoAvatar = "http://2.bp.blogspot.com/-pWdg8wLsedo/UmVWQxLdwrI/AAAAAAAAEVk/-z7YgKykkuU/s1600/avatar_blue_m_96.png" + sizeAvatar;
var urlAnoAvatar = 'http://1.bp.blogspot.com/-6B6DXCp8dek/UmVPm7D2mOI/AAAAAAAAEVU/Xz-3z2nRpUk/s1600/avatar1.png' + sizeAvatar;
var urlMyProfile = '';
var urlMyAvatar = '';
if(!Array.indexOf) {
 Array.prototype.indexOf=function(obj) {
  for(var i=0;i<this.length;i++) if(this[i]==obj) return i;
  return -1;
}}
function replaceTopCmtVars(text, item, position)
{
  if(!item || !item.author) return text;
  var author = item.author;
  var authorUri = "";
  if(author.uri && author.uri.$t != "")
    authorUri = author.uri.$t;
  var avaimg = urlAnoAvatar;
  var bloggerprofile = "https://www.blogger.com/profile/";
  if(author.gd$image && author.gd$image.src && authorUri.substr(0,bloggerprofile.length) == bloggerprofile)
    avaimg = author.gd$image.src;
  else {
    var parseurl = document.createElement('a');
    if(authorUri != "") {
      parseurl.href = authorUri;
      avaimg = 'https://www.google.com/s2/favicons?domain=' + parseurl.hostname;
    }
  }
  if(urlMyProfile != "" && authorUri == urlMyProfile && urlMyAvatar != "")
    avaimg = urlMyAvatar;
  if(avaimg == "https://img2.blogblog.com/img/b16-rounded.gif" && urlNoAvatar != "")
    avaimg = urlNoAvatar;
  var newsize="s"+sizeAvatar;
  avaimg = avaimg.replace(/\/s\d\d+-c\//, "/"+newsize+"-c/");
  if(cropAvatar) newsize+="-c";
  avaimg = avaimg.replace(/\/s\d\d+(-c){0,1}\//, "/"+newsize+"/");
  var authorName = author.name.$t;
  if(authorName == 'Anonymous' && txtAnonymous != '' && avaimg == urlAnoAvatar)
    authorName = txtAnonymous;
  var imgcode = '<img class="avatar-top-commentators" height="'+sizeAvatar+'" width="'+sizeAvatar+'" title="'+authorName+'" src="'+avaimg+'" />';
  if(authorUri!="") imgcode = '<a href="'+authorUri+'">'+imgcode+'</a>';
  if(maxUserNameLength > 3 && authorName.length > maxUserNameLength)
    authorName = authorName.substr(0, maxUserNameLength-3) + "...";
  var authorcode = authorName;
  if(authorUri!="") authorcode = '<a class="commenter-link-name" href="'+authorUri+'">'+authorcode+'</a>';
  text = text.replace('[user]', authorcode);
  text = text.replace('[image]', imgcode);
  text = text.replace('[#]', position);
  text = text.replace('[count]', item.count);
  return text;
}
var topcommenters = {};
var ndxbase = 1;
function showTopCommenters(json) {
  var one_day=1000*60*60*24;
  var today = new Date();
  if(urlMyProfile == "") {
    var elements = document.getElementsByTagName("*");
    var expr = /(^| )profile-link( |$)/;
    for(var i=0 ; i<elements.length ; i++)
      if(expr.test(elements[i].className)) {
        urlMyProfile = elements[i].href;
        break;
      }
  }
  if(json && json.feed && json.feed.entry && json.feed.entry.length) for(var i = 0 ; i < json.feed.entry.length ; i++ ) {
    var entry = json.feed.entry[i];
    if(numDays > 0) {
      var datePart = entry.published.$t.match(/\d+/g);
      var cmtDate = new Date(datePart[0],datePart[1]-1,datePart[2],datePart[3],datePart[4],datePart[5]);
 
      var days = Math.ceil((today.getTime()-cmtDate.getTime())/(one_day));
      if(days > numDays) break;
    }
    var authorUri = "";
    if(entry.author[0].uri && entry.author[0].uri.$t != "")
      authorUri = entry.author[0].uri.$t;
    if(excludeMe && authorUri != "" && authorUri == urlMyProfile)
      continue;
    var authorName = entry.author[0].name.$t;
    if(excludeUsers.indexOf(authorName) != -1)
      continue;
    var hash=entry.author[0].name.$t + "-" + authorUri;
    if(topcommenters[hash])
      topcommenters[hash].count++;
    else {
      var commenter = new Object();
      commenter.author = entry.author[0];
      commenter.count = 1;
      topcommenters[hash] = commenter;
    }
  }
  if(json && json.feed && json.feed.entry && json.feed.entry.length && json.feed.entry.length == 200) {
    ndxbase += 200;
    document.write('<script type="text/javascript" src="https://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&start-index='+ndxbase+'&alt=json-in-script&callback=showTopCommenters"></'+'script>');
    return;
  }
  // convert object to array of tuples
  var tuplear = [];
  for(var key in topcommenters) tuplear.push([key, topcommenters[key]]);
  tuplear.sort(function(a, b) {
    if(b[1].count-a[1].count)
        return b[1].count-a[1].count;
    return (a[1].author.name.$t.toLowerCase() < b[1].author.name.$t.toLowerCase()) ? -1 : 1;
  });
  var realcount = 0;
  for(var i = 0; i < maxTopCommenters && i < tuplear.length ; i++) {
    var item = tuplear[i][1];
    if(item.count < minComments)
        break;
    document.write('<di'+'v class="top-commentators">');
    document.write(replaceTopCmtVars(txtTopLine, item, realcount+1));
    document.write('</d'+'iv>');
    realcount++;
  }
  if(!realcount)
    document.write(txtNoTopCommenters);
}
document.write('<script type="text/javascript" src="https://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></'+'script>');
</script>
Daha sonra kaydedip blogumuzu kontrol ediyoruz. Biraz geç açılabilir haberiniz olsun. 

19 yorum:

  1. Harika bir paylasim olmuş ellerinize sağlık.

    YanıtlaSil
  2. Bu kodu kullanmak isteyen çok kişi olacaktır. Teşekkürler

    YanıtlaSil
  3. Çok işimize yarayacak bir konu.
    Teşekkürler

    YanıtlaSil
  4. Blogda kullanılır mi böyle bir eklenti diye düşünüyorum. Ancak tercih meselesin belki lazım olabilir misal blogda etkinlik yapablar icin en cok yoruma su ödül filan güzel olabilir
    ARKADASLAR BENCE BU TAKTIGI KULLANIN .)
    Belki etik olmayabilir ama bir düşünce elbette..

    Elinize sağlık hocam

    YanıtlaSil
  5. O kadar kolay oldu ki tek seferde başardım. Günlerdir bu eklentiyi arıyordum. Çok çok teşekkür ederim :-)

    YanıtlaSil
  6. Bu yorum yazar tarafından silindi.

    YanıtlaSil
    Yanıtlar
    1. Eklenti olarak istediğiniz alana ekleyebilirsiniz.

      Sil
    2. Tuhaf bir şey yazdığımı anlayıp sildim yazdığımı. Sayfanda göremediğim için birden farklı bir yere yapıştırıyoruz gibi algıladım :) teşekkürler.. (amma gevezeymişim senin sayfanda :))

      Sil
  7. İlginçmiş cidden :) beğendim.. aklıma da not ettim bu ayrıntıyı :)

    YanıtlaSil
  8. Teşekkürler çok ama çok işime yaradı :D

    YanıtlaSil
  9. Geçen haftalarda bu sene bloguma en çok yorum yapan 2 okuyucuma Krakow'dan bir hediye göndereceğimi yazdıktan sonra, 1 senelik yorumların yapıldığı bir excel dosyası hazırladım. Keşke o zaman bu eklentiden haberim olsaydı.

    YanıtlaSil

Yorum yaparken:
1. İçerik konusuyla alakalı olmasına özen gösterin.
2. Aktif link bırakmayın, aksi taktirde yorumunuz silinir.
3. Yazım ve dil bilgisi kurallarına uymayı ihmal etmeyin.
Konu ile ilgili olmayan sorularınız için ise Blogger Yardım veya İletişim sayfalarını kullanınız.

Copyright © 2016 - 2019 www.blogtecrubem.com · Duyuru · İletişim · Yasal Uyarı