เวลาสร้าง theme เพื่อใช้เอง สิ่งหนึ่งที่คนเริ่มต้นหัดทำจะสับสนคือ ไม่รู้ว่าต้องสร้างไฟล์อะไรบ้างแล้วหน้าไหนเรียกใช้ไฟล์ใด ถ้าแบบนั้นลองมาดูรูปนี้ก่อนครับ จะได้ทำความเข้าใจเบื้องต้นกันก่อนอธิบายต่อไป
รูป นี้เป็นหลักสำคัญเลยสำหรับการพิจารณาว่า เราควรมี file ไหนบ้างใน theme ของเรา จะเห็นว่าในรูปไม่ได้พูดถึง header.php, sidebar.php, footer.php เลย เพราะพวกนี้จะไปเป็นส่วนประกอบให้กับ file ของ theme ที่เราสร้างขึ้น ซึ่งส่วนประกอบภายในจะพูดในบทต่อไปตอนนี้เรามาดูที่รูปกันก่อน
วิธี การไล่ดูว่า หน้าไหนใช้ไฟล์ใดให้เริ่มจากด้านซ้ายมือ ดูว่าหน้านั้นคือหน้าในประเภทไหนแล้วค่อย ๆ ไล่มาจนถึงด้านขวา ซึ่งจะเห็นว่าไม่ว่าจะเป็นหน้าไหน ถ้าไม่มีไฟล์ใดเลยก็จะเรียกใช้งานไฟล์ index.php เป็นหลัก เช่น ถ้าเป็นหน้า Error 404 ก็จะมองหา 404.php แต่ถ้าไม่เจอก็จะเรียกใช้ index.php หรือหน้า static page ก็จะมองหา page.php แต่ถ้าไม่เจอก็จะเรียกใช้ index.php ดังนั้นสรุปได้ว่าถ้าเราเขียนได้ครอบคลุมพอ เราสามารถสร้าง theme โดยที่มีแค่ไฟล์ index.php และ style.css ได้เลย
การที่มีลำดับการ เรียกใช้งานไฟล์ไหน ก็เพื่อเวลาที่เราต้องการให้หน้าแต่ละแบบแสดงผลไม่เหมือนกัน เช่นหน้า category เราอยากให้มีเป็นรายชื่อหัวข้อบทความพร้อม feature image แต่หน้า search เราต้องการให้แสดงผลแค่รายชื่อหัวข้อก็พอ หรือในหน้า post เราต้องการให้แสดง post ที่เกี่ยวข้อง แต่ในหน้า page เราไม่ได้ต้องการให้มีการแสดง page ที่เกี่ยวข้อง เป็นต้น
ให้พูดอย่างเดียวอาจจะไม่เข้าใจ ลองมาดูตัวอย่างด้วยเว็บนี้กันเลยแล้วกันครับ เริ่มจากหน้า
Home กับหน้า
Blogs โดยที่หน้า admin ในหัวข้อ Settings -> Reading ผมเลือกไว้แบบนี้ครับ
โดยดูตามรูปที่ใช้สำหรับไล่ว่าหน้าไหนใช้ไฟล์ใด ตัวหน้า Home ของผมก็คือ Site Front Page ซึ่งจะเรียกใช้งาน front-page.php และหน้า Blogs ก็คือ Blog Posts Index Page ซึ่งจะเรียกใช้งาน home.php
ต่อมาเราเข้าไปที่หน้า
WordPress Article หน้านี้ก็คือ Category Archive ซึ่งจะเรียกใช้งาน category.php
ส่วน หน้านี้ หน้าที่เราอ่านบทความอยู่นี่ก็คือหน้า Single Post Page ซึ่งจะเรียกใช้งาน single.php ตัวอย่างคร่าว ๆ ก็ประมาณนี้ละครับ แต่ถ้าให้สรุปให้เลยว่า ทำ theme ควรมีไฟล์ไหนบ้าง ผมคิดว่าถ้ามีดังนี้ก็ครอบคลุมพอนะครับ
front-page.php
home.php
404.php
search.php
archive.php
single.php
page.php
index.phpตาม
รายการด้านบนเลยครับ ส่วนบทหน้าผมจะพูดถึงส่วนประกอบด้านในของไฟล์ละ ว่าเราต้องเขียนโค้ดยังไงบ้าง เพื่อให้ WordPress เรียกข้อมูลที่เราเขียนไว้มาแสดงผล
ที่มา:
http://www.wordpress.in.th/wordpress-article/build-wordpress-theme-template-hierarchy/