Fitur "Related Posts" atau "Artikel Terkait" merupakan salah satu fitur yang banyak sekali memberi keuntungan baik bagi pemilik blog maupun bagi pembaca/pengunjung. Bagi pengunjung, mereka akan dengan mudah menemukan artikel-artikel lain yang memiliki tema atau topik bahasan yang serupa atau terkait dengan yang sedang mereka baca, sedangkan bagi pemilik blog, dengan banyaknya artikel terkait dengan yang sedang dibaca maka akan menambah page view semakin banyak dan itu artinya akan semakin besar peluang untuk mendapatkan keuntungan (bagi blog atau website yang berkategori komersial).
Oke, sekarang bagaimana cara membuat fitur Related Posts tersebut? Berikut langkah-langkahnya:
- Seperti biasa anda login dulu ke Dashboard
- Buka bagian "Template" kemudian pilih pada menu "Edit HTML" maka akan muncul jendela pop up dan anda pilih aja "Proses" atau "Proceed" (kalo yang menggunakan bahasa Inggris)
- Setelah itu, aktifkan tanda centang pada "Expand Widget Template"
- Langkah selanjutnya cari kode <data:post.body/>. Gunakan Ctrl + F untuk mencarinya.
Setelah kode di atas ketemu, silahkan kawan-kawan copy script berikut ini lalu paste di bawah kode tersebut.
Scriptnya:
<b:if cond='data:blog.pageType == "item"'>
<div class='similiar'>
<div class='widget-content'>
<h3>Related Posts by Categories</h3>
<div id='data2007'/><br/><br/>
<script type='text/javascript'>
var homeUrl3 = "<data:blog.homepageUrl/>";
var maxNumberOfPostsPerLabel = 4;
var maxNumberOfLabels = 10;
maxNumberOfPostsPerLabel = 100;
maxNumberOfLabels = 3;
function listEntries10(json) {
var ul = document.createElement('ul');
var maxPosts = (json.feed.entry.length <= maxNumberOfPostsPerLabel) ?
json.feed.entry.length : maxNumberOfPostsPerLabel;
for (var i = 0; i < maxPosts; i++) {
var entry = json.feed.entry[i];
var alturl;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
alturl = entry.link[k].href;
break;
}
}
var li = document.createElement('li');
var a = document.createElement('a');
a.href = alturl;
if(a.href!=location.href) {
var txt = document.createTextNode(entry.title.$t);
a.appendChild(txt);
li.appendChild(a);
ul.appendChild(li);
}
}
for (var l = 0; l < json.feed.link.length; l++) {
if (json.feed.link[l].rel == 'alternate') {
var raw = json.feed.link[l].href;
var label = raw.substr(homeUrl3.length+13);
var k;
for (k=0; k<20; k++) label = label.replace("%20", "
");
var txt = document.createTextNode(label);
var h = document.createElement('b');
h.appendChild(txt);
var div1 = document.createElement('div');
div1.appendChild(h);
div1.appendChild(ul);
document.getElementById('data2007').appendChild(div1);
}
}
}
function search10(query, label) {
var script = document.createElement('script');
script.setAttribute('src', query + 'feeds/posts/default/-/'
+ label +
'?alt=json-in-script&callback=listEntries10');
script.setAttribute('type', 'text/javascript');
document.documentElement.firstChild.appendChild(script);
}
var labelArray = new Array();
var numLabel = 0;
<b:loop values='data:posts' var='post'>
<b:loop values='data:post.labels' var='label'>
textLabel = "<data:label.name/>";
var test = 0;
for (var i = 0; i < labelArray.length; i++)
if (labelArray[i] == textLabel) test = 1;
if (test == 0) {
labelArray.push(textLabel);
var maxLabels = (labelArray.length <= maxNumberOfLabels) ?
labelArray.length : maxNumberOfLabels;
if (numLabel < maxLabels) {
search10(homeUrl3, textLabel);
numLabel++;
}
}
</b:loop>
</b:loop>
</script>
</div>
</div>
</b:if>
Sangat mudah bukan? Selamat mencoba, bila ada yang kurang jelas, bisa tanya lewat komentar ato lewat YM kalo saya kebetulan lagi online. Terima kasih telah berkunjung.
0 comments:
Post a Comment
Bila ada yang ingin didiskusikan, silahkan tulis komentar!