Để người xem dễ dàng xem các bài viết có cùng nhãn là tạo một tab chứa các bài viết liên quan đến vấn đề đang đọc. Và phổ biến nhất là cho tab này hiển thị cuối bài viết. Lần trước mình đã hướng dẫ các bạn một số cách tạo bài viết liên quan cho Blog, hôm nay mình xin giới thiệu thủ thuật tạo bài viết mới hơn và cũ hơn cùng chủ đề cho blog,

» Hình minh họa:
Cách tạo "các bài liên quan" cho Bloggspot

» Bước 1: Cài đặt bài đăng:

- Đầu tiên phải chỉnh sửa 1 số thuộc tính :
1- Vào phần Bố cục (Layout).
2- Vào chỉnh sửa của Tiện ích "Bài đăng trên blog"
3- Và chỉnh sửa thiết lập như hình bên dưới

Cách tạo "các bài liên quan" cho Bloggspot
4- Vào Cài đặt ► Định dạng và chọn Định dạng dấu ngày tháng như hình bên trên (xem hình minh họa bên dưới).
Cách tạo "các bài liên quan" cho Bloggspot
5- Blog bạn phải có link feed (nếu chưa có, thì vào đây để kích họat).

» Bước 2- Chèn code vào

1- Đăng nhập blog.
2- Vào Chỉnh sửa HTML
3- Nhấp vào Mở Rộng Tiện ích
4-Tìm dòng code sau:
<div class='post-footer'>
- Chèn ngay sau nó đọan code bên dưới:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:post.labels'>
<div id='bailienquan'>Đang load dữ liệu...</div>
<span id='label_list_display_none' style='display:none; visibility:hidden'>
<b:loop values='data:post.labels' var='label'>
<data:label.name/>
<b:if cond='data:label.isLast
!= &quot;true&quot;'>,</b:if></b:loop></span>
<span id='post_time_stamp' style='display:none; visibility:hidden'><data:post.timestamp/>
</span>
<br/>
</b:if>
</b:if>
- Tiếp tục, chèn đoạn code bên dưới vào ngay trên thẻ đóng </body>:
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
home_page = "http://namkna.blogspot.com/";
maxPosts = 10;
feed2js = "http://feed2js.org//feed2js.php";
</script>
<script>
    //<![CDATA[
var label = document.getElementById("label_list_display_none").innerHTML;

//label = (label != undefined) ? label.split(",") : "nonoLabel";

label = label.split(",");
var maxPostsPerLabel = Math.round(maxPosts/label.length);

function format(ptime){
        s = ptime.split(" ");
        sdate = s[0].split("/");
        sdate[0] = (parseInt(sdate[0])<10) ? "0"+sdate[0] : sdate[0];
        Ddate = sdate[2]+"-"+sdate[0]+"-"+sdate[1]; stime = s[1].split(":");
        if(s[2]=="PM"){
                if(stime[0]!="12"){
                        stime[0] = parseInt(stime[0])+12;
                }
        }
        Ttime = stime[0]+":"+stime[1]+":"+stime[2];
        T = Ddate+"T"+Ttime;
        return T;
}

function v_cblq(vLabel2,what,_mxp) {
   var vLabel2 = vLabel2.replace(/ /g,"%20");
   vLabel2 = escape(vLabel2);
   var p_date2 = format(document.getElementById("post_time_stamp").innerHTML);
   document.write('<script language="JavaScript"' + ' src="'+feed2js+'?src=' + escape(home_page)  + 'feeds%2Fposts%2Fsummary%2F-%2F' + vLabel2 + '%3Fpublished-'+what+'%3D' + escape(p_date2) + '%26max-results%3D' + _mxp + '&amp;num=' + _mxp + '&amp;date=n&amp;utf=y&amp;pc=y"' + ' type="text/javascript">' + '</scr'+'ipt>');
}

function creattaga(ctag_m){
        for (var i=0;i<label.length;i++){
                v_cblq(label[i],ctag_m,maxPostsPerLabel);
        }
}
    //]]>
</script>

<div id='cacbailq1' style='display:none; visibility:hidden; height:0px'>
<script type='text/javascript'>creattaga("min");</script>
</div>

<div id='cacbailq2' style='display:none; visibility:hidden; height:0px'>
<script type='text/javascript'>creattaga("max");</script>
</div>

<div class='cacbailienquan' id='cacbailienquan' style="display:none;">
<script>
    //<![CDATA[
/* file js http://code.google.com/p/fandung/source/browse/trunk/js/related_posts_02.js */
var baiLQ = document.getElementById("bailienquan");
baiLQ.innerHTML = "";

function displayCBLQ(id2,txt2){
        var cacbailq = document.getElementById(id2);
        var aa = cacbailq.getElementsByTagName('a');
        if(aa.length==1) {
        baiLQ.innerHTML += '<h3 class="related_t">'+txt2+'</h3>';
        baiLQ.innerHTML += '<ul class="list">';
                for (i=0;i<aa.length;i++) {
                        baiLQ.innerHTML += '<li><a href="'+aa[i].href+'">'+aa[i].innerHTML+'</a></li>'
                }
                baiLQ.innerHTML += '</ul>';
        } else if(aa.length>1) {
                for(i=0;i<aa.length-1;i++)
                {
                        for(j=i+1;j<aa.length;j++)
                        {
                                if(aa[j].href==aa[i].href) {
                                        aa[j].innerHTML = "";
                                }
                        }
                }
                for(i=0;i<aa.length;i++){
                        if(aa[i].href==location.href.split("#")[0]){
                                aa[i].innerHTML = "";
                        }
                }  
                baiLQ.innerHTML += '<h3 class="related_t">'+txt2+'</h3>';
                baiLQ.innerHTML += '<ul class="list">';
                for(j=0;j<aa.length;j++) {
                        if (aa[j].innerHTML != "") {
                                baiLQ.innerHTML += '<li><a href="'+aa[j].href+'">'+aa[j].innerHTML+'</a></li>';
                        }
                }
                baiLQ.innerHTML += '</ul>';
        }
}

/*
function displayRelatedPosts(text1,text2) {
        //if(label !=  "nonoLabel") {
                displayCBLQ("cacbailq1",text1);
                displayCBLQ("cacbailq2",text2);
        //}
}
*/

    //]]>
</script>
<script type='text/javascript'>
displayCBLQ("cacbailq1","Các bài mới nhất cùng chủ đề:");

displayCBLQ("cacbailq2","Các bài cũ hơn cùng chủ đề:");
</script>
</div>
</b:if>
» Trong đó:
  • Thay http://namkna.blogspot.com/ thành URL blog của bạn
  • maxPosts = 10; : số bài viết sẽ hiển thị.
  • Thay các phần màu cam theo ý muốn của bạn nha,
Lưu ý : Code chạy rất đẹp với các nhãn tiếng Anh hoặc tiếng Việt không dấu. Với các nhãn tiếng Việt, có một số từ code không hiểu được nó, do đó không lấy được các bài liên quan. Vì thế, các bạn nên sử dụng ít nhãn tiếng Việt trong blog thôi, hoặc chỉ nên dùng nhãn tiếng Việt không dấu là tốt nhất.
Fandung.