
Update (08/01/10): แก้ไขจาก query_posts('posts_per_page=5'); เป็น query_posts($query_string); เนื่องจากจะทำให้เราไม่สามารถใช้งาน pagination ของ Wordpress ได้
เชื่อว่าคนที่ทำเว็บด้วย Wordpress หลายๆ อาจจะเคยเจอโจทย์ที่ว่า ต้องทำหน้าแรกเป็นข่าว ในขณะที่ก็ต้องมีข้อมูลตัวหนึ่งอยู่บนส่วนบนสุดเหนือข่าวอยู่ตลอด เช่น ประกาศพิเศษ, วัตถุประสงค์ของเว็บ, ไฟล์วิดิโอ หรือข้อมูลแบบ static อื่นๆ ดังตัวอย่างรูปข้างต้น ซึ่งปกติเราคงใส่ข้อมูลพิเศษตัวนั้นลงไปในส่วนของโค้ดในธีมเลย แต่บางครั้งจะพบว่าลูกค้าต้องการเปลี่ยนแปลงในส่วนนี้ด้วยตัวเอง แม้ว่าอาจจะเปลี่ยนนานๆ ครั้ง ซึ่งแนวทางในการแก้ไขปัญหานี้มีทางเลือกคือ
- ทำ Sticky Post เพิ่มขึ้นมา ซึ่งในส่วน Sticky นี้จะอยู่ข้างบนสุดของ Post เสมอ
- แก้โค้ดธีมให้ Query ข้อมูล Post กับ Page ให้อยู่หน้าเดียวกัน
ซึ่งแนวทางการแก้ไขนี้ จะพบว่าแนวทางแรกจะมีปัญหาตรงที่ทั้ง Sticky Post และ Post ที่แสดงออกมาจะอยู่ในรูปแบบเดียวกันเสมอ เช่น มีชื่อผู้โพส มีเวลา หรือหมวดที่โพสอยู่เสมอ ซึ่งอาจจะไม่ตรงกับความต้องการกับลูกค้า จึงทำให้เราต้องทำในแนวทางที่สองแทนดังที่จะเสนอในวันนี้
Recent comments