เว็บส่วนใหญ่ในโลกอินเตอร์เน็ตคือเว็บที่มีไว้แสดงเนื้อหาให้ผู้เข้าชมเว็บไซต์ได้อ่านกันครับ และเมื่อผู้อ่านเข้าไปอ่านเนื้อหาในเว็บไซต์แล้ว เราเองก็อยากให้ผู้อ่านได้มีโอกาสอ่านเรื่องราวอื่นๆที่เราต้องการนำเสนอด้วยใช่ไหมละครับ แบบนี้เราจะเรียกว่าการแสดง Related Post คือ “เรื่องที่เกี่ยวข้อง” ครับผม สำหรับใครที่พัฒนาเว็บไซต์ด้วยระบบ CMS ที่เรียกว่า WordPress จริงๆแล้วก็มี Plugin ให้เลือกใช้อยู่หลายตัวเลยหล่ะครับ ไม่ว่าจะเป็น
[skill]
- Yet Another Related Posts Plugin (YARPP)
- Similar Posts
- Aizattos Related Posts
- WordPress Related Posts
- Wasabi Related entries
[/skill]
แต่ว่าการที่เราติดตั้งปลักอินมากเกินไป จะทำให้เว็บของเราโหลดช้าครับ ดังนั้นเรามาดูว่าแล้วถ้าไม่พึ่งปลักอินเราจะมีวิธีการแสดงเนื้อหาที่เกี่ยวข้องได้หรือเปล่า วันนี้ผมมีคำตอบครับ มาดูกันดีกว่าเนอะ
อย่างแรกเป็นการแสดงเนื้อหาที่เกี่ยวข้องโดยเช็คจาก “Tags” ครับ ถ้าโพสต์นั้นมี Tags เหมือนกันก็ให้มาแสดงผล
{code type=php}
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
‘tag__in’ => $tag_ids,
‘post__not_in’ => array($post->ID),
‘showposts’=>5, // Number of related posts that will be shown.
‘caller_get_posts’=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo ‘<h3>Related Posts</h3><ul>’;
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a></li>
<?php
}
echo ‘</ul>’;
}
}
?>
{/code}
ส่วนอีกแบบจะเป็นวิธีการแสดงผลโดยเช็คจาก “Categories” หรือหมวดหมู่เดียวกันครับผม
{code type=php}
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
‘category__in’ => $category_ids,
‘post__not_in’ => array($post->ID),
‘showposts’=>5, // Number of related posts that will be shown.
‘caller_get_posts’=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo ‘<h3>Related Posts</h3><ul>’;
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a></li>
<?php
}
echo ‘</ul>’;
}
}
?>
{/code}
[skill]
สำหรับวิธีการใช้งาน ก็เปิดไฟล์ single.php ขึ้นมา แล้วก็แทรกโค้ดนี้ลงไปตรงบริเวณที่ต้องการจะให้แสดงผลครับ แค่นั้นเองคร้าบ
[/skill]