Skip to main content

Tạo menu bài viết liên quan (related posts) cho blogspot

Bài viết liên quan cho blogspot
  Bài viết liên quan cho blogsot là một thủ thuật quan trọng và rất hữu dụng. Khi độc giả đang đọc một bài viết thì các bài viết liên quan với bài đó (thường là cùng label) sẽ hiển thị ngay dưới bài viết, độc giả có thể dễ dàng chọn đọc thêm các bài liên quan đó.
 Thủ thuật này gồm 2 bước như sau, tất cả đều được thực hiện ở trong Template ==> Edit HTLM:

Bước 1: Thêm đoạn mã dưới đây vào trước thẻ  </head>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type="text/javascript">
//<![CDATA[
var titles=new Array();var titlesNum=0;var urls=new Array();var time=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;time[titlesNum]=d.published.$t;titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);var c=new Array(0);e=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=time[a]}}titles=c;urls=b;time=e}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){var y=a.indexOf('?m=0');if(y!=-1){a=a.replace(/\?m=0/g,'')}for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);time.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;document.write("<ul>");if(titles.length==0){document.write("<li>Không có bài viết liên quan</li>")}else{while(b<titles.length&&b<20&&b<maxresults){if(y!=-1){urls[c]=urls[c]+'?m=0'}document.write('<li><a href="'+urls[c]+'" title="'+time[c].substring(8,10)+"/"+time[c].substring(5,7)+"/"+time[c].substring(0,4)+'">'+titles[c]+"</a></li>");if(c<titles.length-1){c++}else{c=0}b++}}document.write("</ul>");urls.splice(0,urls.length);titles.splice(0,titles.length)};
//]]>
</script>
</b:if>
Bước 2: Thêm đoạn mã dưới đây vào bên trong cặp thẻ <div class='post-footer'></div> ở template của bạn
<b:if cond='data:blog.pageType == &quot;item&quot;'>
    <div id='related-posts'>
        <b>Bài viết liên quan:</b>
        <b:loop values='data:post.labels' var='label'>
            <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&quot;' type='text/javascript'/>
        </b:loop>
        <script type='text/javascript'>var maxresults=5;removeRelatedDuplicates();printRelatedLabels('<data:post.url/>');</script>
    </div>
</b:if>
Trong đó: maxresults=5 là số bài viết hiển thị ở danh sách bài viết liên quan, bạn có thể thay đổi theo ý muốn. Save Template lại là xong!
Thủ thuật Bài viết liên quan này cũng lấy dữ liệu từ nguồn feed và dùng hàm document.write để hiển thị. Nhược điểm là không cải thiện thêm về SEO vì các bộ máy tìm kiếm bỏ qua không đọc tới hàm document.write này.
Chúc các bạn thành công!

Nguồn: duypham.info

Comments

  1. Replies
    1. Bạn liên hệ với mình qua Yahoo hoặc Skype nhé!

      Delete
  2. hướng dẫn kĩ tí đại ca "thêm đoạn mã dưới đây vào cặp thẻ " là thêm vào đâu thế ???? thank bác nhé. trang bác chèn cái gì vào mà copy mã ko dc

    ReplyDelete

Post a Comment