Cara Membuat Widget Top Komentator dengan Foto/Avatar
Daftar isi: [Tampil]
Cara Membuat Widget Top Komentator dengan Foto/Avatar - Widget top komentator yang satu ini berbeda dengan top komentator yang pernah saya buat di blog saya yang lama (sekarang sudah terjual). Top komentator yang ini bukan berupa nama saja, tetapi ditambah dengan foto/avatarnya sekalian.
Cara Membuat Widget Top Komentator dengan Foto/Avatar :
- Login ke Blogger
- Pilih Tata Letak => Tambah Gadget
- Pilih HTML/JavaScript
- Copy kode dibawah ini dan paste ke dalamnya
<style type="text/css"> .top-commenter-line {margin: 3px 0;} .top-commenter-line .profile-name-link {padding-left:0;} .top-commenter-avatar {vertical-align:middle;} </style><br /> <script type="text/javascript"> // // Top Commentators gadget with avatars, by MS-potilas 2012. // Gets a list of top commentators from all comments, or specified number of days in the past. // See http://aldoseo.blogspot.com/2012/10/cara-membuat-widget-top-komentator.html // // CONFIG: var maxTopCommenters = 10; // how big a list of top commentators var minComments = 1; // how many comments must top commentator have at least var numDays = 30; // from how many days (ex. 30), or 0 from "all the time" var excludeMe = true; // true: exclude my own comments var excludeUsers = ["Aldo SEO", "someotherusertoexclude"]; // exclude these usernames var maxUserNameLength = 42; // 0: don't cut, >4: cut usernames // var txtTopLine = '<b>[#].</b> [image] [user] ([count])'; var txtNoTopCommenters = 'No top commentators at this time.'; var txtAnonymous = ''; // empty, or Anonymous user name localized if you want to localize // var sizeAvatar = 20; var cropAvatar = true; // var urlNoAvatar = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHp0EhwE6qbxoGmX2HlL7tPUi9YhjekTxMYo6P9Qg7gMIVc2lIIxJgxAJWBH3_nfSY4I-6c6tf84txqXA2kvD0tzJMen8eXKg6Q6b2HXeqqOwZR50dUBGJqAEuqMGJKRB0UaFy1dmAWJo/"+sizeAvatar+"/avatar_blue_m_96.png"; // http://www.blogger.com/img/avatar_blue_m_96.png resizeable var urlAnoAvatar = 'http://www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&s=' + sizeAvatar; var urlMyProfile = ''; // set if you have no profile gadget on page var urlMyAvatar = ''; // can be empty (then it is fetched) or url to image // config end // for old IEs & IE modes: 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 = "http://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 = 'http://www.google.com/s2/favicons?domain=' + parseurl.hostname; } } if(urlMyProfile != "" && authorUri == urlMyProfile && urlMyAvatar != "") avaimg = urlMyAvatar; if(avaimg == "http://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="top-commenter-avatar" 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="profile-name-link" 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; } } 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); // assume ISO 8601 var cmtDate = new Date(datePart[0],datePart[1]-1,datePart[2],datePart[3],datePart[4],datePart[5]); //Calculate difference btw the two dates, and convert to days 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.feed.entry.length == 200) { ndxbase += 200; document.write('<script type="text/javascript" src="http://'+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; }); // list top topcommenters: 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-commenter-line">'); document.write(replaceTopCmtVars(txtTopLine, item, realcount+1)); document.write('</d'+'iv>'); realcount++; } if(!realcount) document.write(txtNoTopCommenters); } document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></'+'script>'); </script><a href="http://aldoseo.blogspot.com/2012/10/cara-membuat-widget-top-komentator.html" target="blank"><font color="red">-Get This-<font></font></font></a>
wah panjang sekali kodenya -_-
ReplyDeleteWahhh sepertinya baguss niee
ReplyDeletebiar kita tau sapa aja yg paling banyak yg berkomentar di blog kita
Deletekeren niee
ReplyDeletepernah make tapi dicabut lagi hehehe :D
ReplyDeletekenapa kok di cabut lge kk
Deletewah, nomor 1 nih :) harus dipertahankan
ReplyDeleteselamat ya blog kk masuk TV
Deletewah, no 1...
ReplyDeletegak terasa
Mantap :)
Deletekalau mau buat award top komentar pakai ini nih biar mudah ngitungnya :D
ReplyDeletemau coba dlu ahh
ReplyDeletemampir sob
ReplyDeletemANTAPPP . . .
ReplyDeleteMas...saya copy scriptnya.Trims nih.
ReplyDeletemang bisa?? ini blog aja gak bisa di copy ngada ngada
DeleteWah...ketinggala Mas ini dari Page Sourcenya Mas.
DeleteBelum tahu ya itu trik terbaik buat anti copas :)
mantap deh , saya copas scriptnya
ReplyDeleteijin bookmard dulu..
ReplyDeletemau nanya klo top komentar nya sesuai topik label ada ngak??
balik lagi mas hehehe :D
ReplyDeleteKpan Ya gw msuk urutan top komentator ,,,
ReplyDeletehehehe
klau kk komentar terus di blog ini
Deletepasti ada blog kk di top komentator
ijin copy scriptnya gan akan ku coba pasang di blog aku,terimakasih
ReplyDeleteKerennn, bisa buat memperhitungkan award top komentar :D
ReplyDeleteSudah Saya Coba Sob ,,
ReplyDeletekeren widgetnya ,,
sippp..keren bgt dah
ReplyDeleteWah kayak nya mnatep nih dii kasih ginian ..
ReplyDeleteKhan jadi tau siapa yg rajin2 komentar ...
nice info bro . Thx