การใส่รายการบทความที่เกี่ยวข้องกัน (Related Posts) กับบทความที่กำลังถูกเปิดอยู่ จะช่วยให้ผู้อ่านบล็อกเข้าชมเนื่อหาที่มีความเกี่ยวข้องกันได้ง่ายขึ้นโดยทำได้ดังนี้
ขั้นตอนที่ 1. เข้าสู่บล็อกของคุณจากนั้นไปที่ 'การออกแบบ > แก้ไข HTML > ขยายแม่แบบเครื่องมือ'
ขั้นตอนที่ 2. จัดวางรูปแบบลักษณะสไตล์
โดยกด 'Ctrl + F' บนคีย์บอร์ดแล้วสั่งค้นหาคำว่า
]]></b:skin>
จากนั้นให้แทนที่โค้ดที่หาเจอนั้นด้วยโค้ดข้างล่างนี้
<!--Related Posts Style Start-->
#related-posts {
overflow: hidden;
margin: 0;
padding: 0;
}
#related-posts-box {
background: #ffffff url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNzrpiaXKlD9DM9ZlWWEk28g1-CiDLJF_eaafiCysioM5cVND67UUw2Q3h8UcC1uwoOyWjcizvGPA0L4NX2UhWYWCoo8MRPVvw0YwM7tCLXVaWJhlTQIwfdu1koZMHNADQOJYAC7Peyhg/') repeat-x scroll top left;
border: solid 1px #cccccc;
margin: 10px 0 10px;
padding: 0 10px 5px;
}
#related-posts-title {
background: transparent url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinM_HUhFxQhhptMoImKTACVWgsssce627qaHG0VTRlw9eDfQMYNKjwTtdmT5fsiysJVPPijAHtv6WapPQwUxHSp0I2VUXlGwNCjwXeB6zi9ChJvvPMejbvgbZTaI1B7Wx88aW_y8hyqpI/') no-repeat 0px 5px;
color: #2d4247;
border-bottom: solid 1px #cccccc;;
padding : 14px 0 0 38px;
}
#related-posts-title h2 {
font-size: 120%;
}
#related-posts a {
background: transparent url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Crlj3UAxzwh5sY3TKHBe1HdK-Ufnrm98mQW6LtSih0MduPQ-gHVtpJVDpYtFcB7Cbs6mIZ4zM27wwdd3KEKJIbxUsu0My4KexkFCKmnqChF4zstBA9QNE4W1yeaRZmO1rv19JSe-G7Q/') no-repeat 10px 50%;
color: #303843;
padding: 9px 0 9px 40px;
display: block;
border: none;
}
#related-posts ul li {
list-style: none;
border: none;
margin: 0 0 0 -15px;
padding: 0px;
}
#related-posts ul li a:hover {
background: #f9f7f0 url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQTshm0Ik_oJZFVwAgdm0rNaiuV5JZR908TuPo_xvJZ1dE5OJc_Lqzm7IEbDKuj7SgxwlX7Xb_gfAI4HzIVdYG7oTYpTmp985Wy4bKibKmja4v5ZtY9YmejhskQnf8tbn3qZp51MMzSss/') no-repeat 10px 50%;
color: #303843;
border: none;
display: block;
padding: 9px 0 9px 40px;
}
<!--Related Posts Style End-->
]]></b:skin>
ขั้นตอนที่ 3. วางสคริปต์
โดยกด 'Ctrl + F' บนคีย์บอร์ดแล้วสั่งค้นหาคำว่า
<b:template-skin>
จากนั้นให้แทนที่โค้ดที่หาเจอนั้นด้วยโค้ดข้างล่างนี้
<script type='text/javascript'>
//<![CDATA[
var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();
function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}
function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
function printRelatedLabels() {
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a></li>');
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write('</ul>');
}
//]]>
</script>
<b:template-skin>
ขั้นตอนที่ 4. วางตำแหน่งของกล่องแสดงบทความที่เกี่ยวข้อง
โดยกด 'Ctrl + F' บนคีย์บอร์ดแล้วสั่งค้นหาคำว่า
<b:includable id='status-message'>
ซึ่งสังเกตว่าจะพบโค้ดเหมือนกับสองบรรทัดด้านล่างนี้ซึ่งเป็นเป้าหมายการแก้ไขโค้ดในขั้นตอนนี้
</b:includable>
<b:includable id='status-message'>
จากนั้นให้แทนที่โค้ดทั้งสองบรรทัดซึ่งเป็นเป้าหมายนั้นด้วยโค้ดข้างล่างนี้
<!--RELATED-POSTS-BOX-STARTS-->
<b:if cond='data:blog.pageType == "item"'>
<div id='related-posts'>
<div id='related-posts-box'>
<div id='related-posts-title'>
<h2>Related Posts:</h2>
</div>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != "true"'/><b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=related_results_labels&max-results=5"' type='text/javascript'/></b:if></b:loop>
<script type='text/javascript'> removeRelatedDuplicates(); printRelatedLabels();
</script></div></div></b:if>
<!--RELATED-POSTS-BOX-STOPS-->
</b:includable>
<b:includable id='status-message'>
ขั้นตอนที่ 5. เลือกที่ 'บันทึกแม่แบบ' จากนั้นลองเปิดบล็อกดูผลลัพธ์
อธิบายเพิ่มเติม
จำนวนในการแสดงหัวข้อบทความที่มีความเกี่ยวข้องกันนั้นจะถูกกำหนดจาก
โค้ดในขั้นตอนที่ 4 ในส่วนของ
<!--RELATED-POSTS-BOX-STARTS-->
ซึ่งในตัวอย่างนี้ได้ถูกเขียนกำหนดเอาไว้ว่า
max-results=5
ซึ่งจะส่งผลให้หัวข้อบทความที่มีความเกี่ยวข้องกันถูกแสดงออกมา 5 อัน
โดยสามารถกำหนดจำนวนหัวข้อที่ถูกแสดงออกมาโดยเปลี่ยนจากเลข 5 ให้เป็นเลขที่ต้องการได้เลยครับ
นอกจากนี้หากต้องการแก้ไขรูปภาพ สี หรือลักษณะสไตล์ต่างๆ ของกล่องบทความที่เกี่ยวข้องอันนี้ ให้ไปแก้ไขในขั้นตอนที่ 2 ตั้งแต่ที่เขียนว่า <!--Related Posts Style Start--> ไปจนถึง <!--Related Posts Style End--> ให้เป็นแบบที่ชอบได้เลย
Credit: http://www.anshuldudeja.com/2009/03/related-posts-widget-for-blogger.html

10 ความคิดเห็น:
โอ้ววว หามานาน ขอบคุณมากครับ
กำลังหัดทำเว็บบล็อกครับ ซึ่งข้อมูลเก่าๆที่หาเจอนั้น ใช้ไม่ได้แล้ว
อีกอย่างครับ อยากจะให้มันขึ้นแค่ 5 โพส แต่ของผมมันขึ้นมา 6 เลย
แก้ตรงไหนได้บ้างครับ
เว็บนี้เลยครับ
www.iViewApp.net
จำนวนในการแสดงหัวข้อบทความที่เกี่ยวข้องกันนั้นจะถูกกำหนดจาก
โค้ดในขั้นตอนที่ 4 โดยในตัวอย่างนี้ได้เขียนเอาไว้ว่า
max-results=5
ซึ่งจะส่งผลให้หัวข้อบทความถูกแสดงออกมา 5 อัน
ดังนั้นสามารถกำหนดจำนวนหัวข้อที่ถูกแสดงออกมาโดยเปลี่ยนจากเลข 5 ให้เป็นเลขที่ต้องการได้เลยครับ
นอกจากนี้ผมได้นำวิธีแก้ไขไปเขียนเพิ่มไว้ในบทความแล้วครับ
โค๊ด หาไม่เจอครับ
ในปัจจุบันนี้เมนูของบล็อกเกอร์มีการเปลี่ยนแปลงบางส่วน ดังนั้นวิธีในขั้นตอนที่ 1 ให้ลองทำดังนี้
เข้าสู่บล็อกของคุณจากนั้นไปที่ 'แม่แบบ > แก้ไข HTML > ดำเนินการ > ขยายเทมเพลตวิดเจ็ต'
แล้วก็ทำตามขั้นตอนที่ 2 ต่อได้เลยครับ
ใช้วิธีกดปุ่ม Ctrl + F เพื่อสั่งค้นหาครับ
เพราะโค้ดในขั้นตอนที่ 3 นี้จะมีในเทมเพลทพื้นฐานของ Blogger อยู่แล้ว
พี่ครับผมทำไม่ได้เลยครับ เวลาบันทึกไม่ก็แจ้งเตือนว่าโค๊ดไม่ถูกอะครับเป็นตัวแดงๆทำอย่างไรดีครับ
ถ้าจะให้ตรวจสอบได้สะดวกหน่อยก็สามารถทำได้โดย เมื่อแทนที่โค้ดในแต่ละขั้นตอนเสร็จแล้วก็ให้กดปุ่ม "บันทึกเทมเพลท" ก่อนที่จะเริ่มทำขั้นตอนถัดมา โดยถ้าหากว่ามีข้อความสีแดงโผล่ขึ้นมาหลังจากแก้ไขโค้ดตามขั้นตอนไหนก็หมายความว่าขั้นตอนที่เพิ่งทำเสร็จนั้นทำผิดพลาดครับ
ไม่มีกล่องแสดง
http://babbanidea.blogspot.com
ถ้าแทนที่โค้ดครบทุกขั้นตอนจะพบกล่อง Related Posts แบบเดียวกับที่กำลังแสดงอยู่ในบล็อกนี้ครับ
ถ้าจะทำให้ related โพสแสดงหลายๆอัน แต่ กำหนด กรอบให้ มีความสูง ความกว้าง แล้วทำให้สามารถมีสกอบาร์ เลื่อนลงมาได้ไหมครับ
แสดงความคิดเห็น
หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น