แสดง Related Post โดยไม่ง้อ Plugin สำหรับ WordPress

เว็บส่วนใหญ่ในโลกอินเตอร์เน็ตคือเว็บที่มีไว้แสดงเนื้อหาให้ผู้เข้าชมเว็บไซต์ได้อ่านกันครับ และเมื่อผู้อ่านเข้าไปอ่านเนื้อหาในเว็บไซต์แล้ว เราเองก็อยากให้ผู้อ่านได้มีโอกาสอ่านเรื่องราวอื่นๆที่เราต้องการนำเสนอด้วยใช่ไหมละครับ แบบนี้เราจะเรียกว่าการแสดง Related Post คือ “เรื่องที่เกี่ยวข้อง” ครับผม สำหรับใครที่พัฒนาเว็บไซต์ด้วยระบบ CMS ที่เรียกว่า WordPress จริงๆแล้วก็มี Plugin ให้เลือกใช้อยู่หลายตัวเลยหล่ะครับ ไม่ว่าจะเป็น

 

[skill]

[/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]

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้ประเภทนี้จะทำการเก็บข้อมูลการใช้งานเว็บไซต์ของคุณ เพื่อเป็นประโยชน์ในการวัดผล ปรับปรุง และพัฒนาประสบการณ์ที่ดีในการใช้งานเว็บไซต์ ถ้าหากท่านไม่ยินยอมให้เราใช้คุกกี้นี้ เราจะไม่สามารถวัดผล ปรับปรุงและพัฒนาเว็บไซต์ได้

  • คุกกี้เพื่อปรับเนื้อหาให้เข้ากับกลุ่มเป้าหมาย

    คุกกี้ประเภทนี้จะเก็บข้อมูลต่าง ๆ รวมทั้งข้อมูลวส่วนบบุคลเกี่ยวกับตัวคุณเพื่อเราสามารถนำมาวิเคราะห์ และนำเสนอเนื้อหา ให้ตรงกับความเหมาะสมกับความสนใจของคุณ ถ้าหากคุณไม่ยินยอมเราจะไม่สามารถนำเสนอเนื้อหาและโฆษณาได้ไม่ตรงกับความสนใจของคุณ

บันทึก