แก้ธีมของ Biomed.in.th โจทย์ที่ทำคือต้องการให้สองโพสที่น่าสนใจแสดงภาพขนาดใหญ่และอยู่หน้าแรก ในตอนแรกธีมนี้ใช้การเลือกบาง categories มาแสดงซึ่งมันทำให้มันแสดงซ้ำกับ div ตัวกลางที่เราให้แสดง All Topic อยู่ ซึ่งเราไม่ต้องการให้เป็นแบบนั้น
เลยเปิดดู Codex ของ WordPress ในส่วนของ Template Tags/query postsเลยไปเห็นการใช้ Sticky ในการแสดง Posts เลยหยิบมาใช้ซึ่งก็ตอบโจทย์ที่เราต้องการได้พอดีเลย ทำเสร็จแล้วเลยขอบันทึกไว้เอาไปใช้ประโยชน์ในโอกาสต่อไป
โค้ดส่วนแรกซึ่งจะแสดง Sticky
[code lang="php"]
2, // จำนวนของโพสที่ต้องการแสดง
'caller_get_posts' => 1,
'post__in' => get_option('sticky_posts') ); //ให้แสดงเฉพาะโพสที่ Sticky
query_posts($args); ?>
[/code]ผลของโค้ดนี้ได้ผลดังด้านซ้ายของเว็บไซต์
จากนั้นในส่วนที่แสดงโพสทั้งหมดไม่ต้องการให้โพสที่ถูกปักหมุดมาแสดงด้วยเดี๋ยวจะซ้ำกันทำให้คนอ่านได้ข้อมูลซ้ำเก่าและไม่น่าสนใจ
โค้ดที่ใช้แสดงโพสทั้งหมดยกเว้นโพสที่ถูก sticky
[code lang="php"]
6,
'caller_get_posts' => 1,
'post__not_in' => $sticky,
'paged'=>$paged,
);
query_posts($args);
?> [/code]ผลของโค้ดนี้ได้การแสดงผลตรงกลาง
ขอบคุณ WordPress Codex





25 พฤศจิกายน 2009 22:32 pm
โอ้ว เยี่ยมไปเล้ย 🙂
25 พฤศจิกายน 2009 22:35 pm
ขอบคุณ คุณ@imenn มากครับ ที่เข้ามาเยี่ยม
28 สิงหาคม 2010 9:40 am
พี่ครับ ผมขอพระคุณพี่มากๆเลยครับ ขอบคุณจากใจจริงๆเลย ผมนั่ง งม มานานมากๆเลยคับ
ขอบคุณมากๆคับ
28 สิงหาคม 2010 10:10 am
พี่ครับ ทำได้แล้ว แต่ว่ามันตีกัน ใส่ code ไปแล้วกดดูบทคความจากหมวดอื่นๆไม่ได้ ขึ้นเหมือนเดิมตลอดเลยคับ
ทำไงดี
28 สิงหาคม 2010 10:33 am
ผมว่าต้องลองดูว่า ในหน้าหมวดหมู่ใช้ไฟล์ template ไหนอยู่ แล้วค่อยดูที่ code อีกทีครับ