เมื่อวานผมท่องเน็ตตามปกติ แล้วไปเจอบทความบทความเวิร์ดเพรสบทความหนึ่ง http://www.techtutshub.com/2012/10/how-to-split-wordpress-posts-into-multiple-pages.html เขาสอนวิธีแบ่งหน้าบทความออกเป็นหลายๆเพจ และเขาได้ชี้แจงว่าไอ้การแบ่งบทความขนาดยาวออกเป็นหน้าย่อยๆ หลายๆหน้านั้น มันมีคุณประโยชน์ 2-3 อย่าง (มันอาจจะมากกว่านี้แหละมั้ง แต่เขาเขียนไว้เท่านี้)
1. Improve user experience
ปกติแล้วยูสเซ่อร์มักจะขี้เกียจเลื่อนโสครลบาร์ เพื่อไล่อ่านบทความ ถ้าแบ่งบทความยาวๆให้ออกเป็นหน้าๆ ก็จะเป็นการเพิ่มประสบการการใช้งานให้แก่ยูสเซ่อร์ คือ ยูสเซ่อร์ใช้งานเว็บเราแล้วประทับใจ ว่างั้น
2. Improve loading speed of a Page
บทความที่มีขนาดยาวนั้น จะตามมาด้วยระยะเวลาในการโหลดเพจที่นานขึ้น ถ้าแบ่งให้มันสั้นลง เพจมันก็จะโหลดเร็วขึ้น ยูสเซอร์ก็ได้อ่านเร็วขึ้น ไม่ต้องรอนาน
3. Boosted Pageviews rate/ Decreased Bounce Rate
ก็เมื่อประทับใจในการใช้งานเว็บ ยูสเซอร์ก็จะกลับมาที่เว็บเราอีกซ้ำแล้วซ้ำเล่า ทำให้อัตรา Bounce Rate เพิ่ม และอัตรา Pageviews ก็จะเพิ่มขึ้นไปด้วย อันนี้มีผลต่อ SEO
สำหรับวิธีการแบ่งบทความยาวๆออกเป็นหลายๆหน้า ไม่มีอะไรยากเย็นเลย เพียงแค่แทรก
<!- -nextpage- -> |
(*** ตอนเอาไปใช้ให้ลบช่องว่างด้วยนะครับ ผมเคาะให้มันห่าง เพราะว่ามันจะแปลงคำสั่งนี้ไปเป็นเพจ) เข้าไประหว่างบทความ ตรงตำแหน่งที่เราอยากจะให้มันแบ่งเป็นหน้าใหม่ ต้องเปลี่ยนเป็น HTML โหมดนะครับตอนใส่โค้ด
ถ้าลองเปลี่ยนโหมดกลับมา Visual โหมดมันจะมีเส้น Next page ขึ้นมาให้เราเห็น ว่าแบ่งหน้าตรงนี้นะ
จากนั้นจึงใส่โค้ดนี้เข้าไปใน single.php
<?php wp_link_pages(); ?> |
ผลลัพธ์มันจะออกมาประมาณนี้
วิธีการแบ่งบทความออกเป็นหน้าย่อยๆหลายๆหน้า สามารถนำไปใช้กับ page ก็ได้นะครับ
Anuluck Nantajan says:
23/01/2556 at 23/01/2556
ผมลองอ่านแล้วทำตามดู แต่กรณีนี้ ผมเอาไปลองใช้กับ Page น่ะครับไม่ได้ใช้กับ Post
เห็น Comment ว่าสามารถเอาไปใช้กับ Page ได้แต่ต้องใช้กับ the_content();
ซึ่งปกติแล้ว Page เองเวลาเราจะเขียนให้มันแสดง Content ออกมาปกติผมใช้
echo $post->post_content;
เขียนแค่บรรทัดเดียว แต่เอาไปใช้ร่วมกับคำสั่ง wp_link_pages(); ไม่ได้ คือไม่ไม่ออกมา
ต่อพอเขียนแบบนี้ใน Page ก็แสดงออกมา
// ต้องวนลูปแสดงค่าออกมาเพราะว่าเป็น Page แบบ Static ไม่ได้เป็น Post
if (have_posts()) :
while (have_posts()) : the_post();
the_content(); // แสดง Content
endwhile;
endif;
*** ประเด็นมันอยู่ที่ว่า ผมเอาไปใช้กับ Page แต่แค่มองว่าทำไหมต้องเขียน Code วนลูปเพื่อแสดง the_content(); เพื่อให้มันสามารถใช้งาน wp_link_pages(); ให้แสดง nextpage ได้นี่ซิครับ … (แต่หากใช้กับ post ในไฟล์ single.php มันไม่มีปัญหาอยู่แล้วครับ)
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
23/01/2556 at 23/01/2556
อันที่จริงไม่ได้เกี่ยวกับ loop หรอกครับ แต่มันอยู่ที่ the_content()
$post->post_content มันเป็นตัวแปรที่เก็บค่าคอนเท้นท์ไว้
the_content() เป็นฟังก์ชั่น มันมีการทำงานอยู่ภายในอีกหลายประการทีเดียวครับ
ผมแนะนำให้เขียนแบบ
ถูกต้องแล้วครับ
the_content() ภายในฟังก์ชั่นของมันยังมี hook อยู่ภายในนั้นด้วย ซึ่งทำให้ปลักอินบางตัวสามารถเปลี่ยนแปลงเพิ่มเติมเนื้อหาของ content ได้
Anuluck Nantajan says:
24/01/2556 at 24/01/2556
อ๋อ the_content() มันเป็น Function นี่เองครับ … ผมเองก็กังวลเรื่องความเร็ว ว่าทำไหมต้องวนลูปนั่นเองครับ
http://diythemes.com/thesis/rtfm/nextpage-wordpress-posts/
อันนี้เป็นการใช้ CSS แต่ง NextPage อีกทีครับ เพื่อคนเข้่ามาอ่านจะได้มองภาพออกไปอีกแบบครับ … ตอนนี้เริ่มเข้าใจมากขึ้นมาอีกนิดแล้วครับ