แสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress (แบบไม่ใช้ plugin)

วันนี้มาเขียนแนะนำวิธีโชว์ Reading Time (Estimate Time Read) ของแต่ละบทความใน WordPress สำหรับใครที่อยากได้ไว้ติดเว็บไซต์ ขั้นตอนไม่ยาก ไม่ต้องใช้ plugin ด้วย ทำยังไงมาดูกันเลย

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

Reading Time คืออะไร?

ไม่รู้เขาเรียกกันแบบนี้รึเปล่านะ… แต่เข้าใจได้ว่ามันคือระยะเวลาที่ใช้ในการอ่านบทความหนึ่ง ส่วนใหญ่ก็จะมีหน่วยเป็นนาที

ถ้าถามว่า Reading Time มีไว้ทำไม? ก็ไม่รู้เหมือนกันว่ามันช่วยอะไรได้ ฮา แต่พอเห็นแล้วรู้สึกว่า

บทความนี้ 5 นาทีเอง กดเข้าไปอ่านซะหน่อยคงไม่เสียเวลามาก

อะไรทำนองนั้น ยกตัวอย่างจากเว็บ Medium.com ละกัน (ตรงไฮไลท์สีเหลือง)

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

**ไม่ใช้ plugin นะคะ อาจจะต้องเข้าใจเรื่องการ code พื้นฐานนิดหน่อย

1. เริ่มจาก logic ในการคำนวณ ก็ง่ายๆเลยคือ

  • ตัวแปรแรก = จำนวนคำทั้งหมดในบทความ
  • ตัวแปรกที่สอง = จำนวนคำเฉลี่ยที่มนุษย์อ่านได้ใน 1 นาที

จับมาหารกัน ก็จะได้เป็น ระยะเวลาที่ใช้อ่านบทความนั้น

2. เขียนเป็น code เพื่อหาค่าจำนวนนาทีดังกล่าว (ชุด A) ออกมา ได้ตามนี้

<?php
//PICHCH
// Get All Content in Post
 $post_object = get_post( $post_id );
 $content = $post_object->post_content;

// Count Words and Remove Tags
 $count_words = str_word_count( strip_tags( $content ) );

// Adjust Words per Minute
 $words_per_minute = 60;

// Get Estimated Reading Time
 $minutes = floor( $count_words / $words_per_minute);

// Cแheck the Result if 'less than 1 minute' or else...
 if($minutes < 1){
 $estTime = '(less than 1 min read)';
 }else{
 $estTime = '('.$minutes.' min read)';
 }
?>
วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

3. ทีนี้เราก็จะได้ผลลัพธ์ออกมา เก็บไว้ในตัวแปรที่ชื่อ $estTime จากนั้นเขียน code แสดงผล (ชุด B) ตามนี้ เอาไปวางตรงที่ต้องการแสดงผล

<?php
if($estTime){
 echo '<span class="minRead">'.$estTime.'</span> ';
}
?>
วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

ข้อควรรู้เพิ่มเติม

  • code ทั้ง 2 ชุด ควรทำงานภายใต้ Loop ของ WordPress (อ่านเพิ่มเติม)
  • ไฟล์ที่จะนำ code ไปใส่ จะมีชื่อใกล้เคียงกับด้านล่างนี้
    • single.php
    • content.php
    • content-single.php
  • ตัวแปร $words_per_minute ปรับเปลี่ยนได้ตามความเหมาะสม เช่น หากบล็อกเรามีเนื้อหาที่ต้องทำความเข้าใจมากหน่อย ก็ลดจำนวนคำลง ก็จะได้เวลาอ่านที่นานขึ้น สมจริงขึ้นอีกนิด
วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

วิธีแสดง Reading Time เวลาที่ใช้อ่านบทความใน WordPress

ก่อนทดลองทำ อย่าลืม backup ไฟล์ที่จะแก้เอาไว้ด้วย! เผื่อเกิดอะไรผิดพลาดจะได้นำตัวเดิมกลับมาทับได้เลย

 

Leave a Reply

Your email address will not be published. Required fields are marked *