ทำความรู้จักกับโครงสร้างไฟล์ WordPress และลำดับการใช้งาน

สำหรับผู้ที่เริ่มสนใจในการเขียนหรือพัฒนาธีม WordPress อาจจะสงสัยในโครงสร้างของระบบ WordPress ว่ามีไฟล์ประเภทใดบ้าง และมีรูปแบบการทำงานอย่างไร วันนี้ผมจะมาพูดถึงโครงสร้างไฟล์ WordPress เพื่อให้เกิดความเข้าใจในภาพรวมของระบบของ WordPress ทั้งหมดเพื่อทำให้ผู้พัฒนา WordPress Theme มีแนวทางในการเริ่มต้นพัฒนาครับ

เริ่มแรกเลย  WordPress นั้นถูกพัฒนามาเพื่อให้สามารถใช้งานง่าย โดยไฟล์ส่วนใหญ่จะเป็นไฟล์ประเภท PHP, CSS และ JS ครับ โดยไฟล์แต่ละประเภทนั้นทำหน้าที่แตกต่างกัน ไฟล์ PHP จะทำหน้าที่ในการสร้างโครงสร้างของเว็บไซต์หรือที่เรียกกันว่าเทมเพลต เราสามารถสร้างฟังก์ชั่นต่างๆ ขึ้นมาเพื่อใช้งานได้ ในขณะที่ไฟล์ CSS นั้นจะเป็นไฟล์ Stylesheet ที่ทำหน้าที่ในการออกแบบหน้าตาของเว็บไซต์ และไฟล์ JS จะเป็นไฟล์ JavaScript ที่ใช้สำหรับการสร้างลูกเล่นต่างๆ กันนอกจากไฟล์ 3 ประเภทหลักในส่วนข้างต้นแล้ว WordPress ยังมีไฟล์อื่นๆ ที่เป็นส่วนเสริม ได้แก่ ไฟล์รูปภาพ Jpeg, png ไฟล์การแปลภาษา pot เป็นต้น

สอน WordPress หรือ WooCommerce
สอน WordPress หรือ WooCommerce

ไฟล์ของ WordPress

ไฟล์ของ WordPress ที่จำเป็นสำหรับการเริ่มต้นสร้างธีม WordPress ก็คือ ไฟล์ index.php และ style.css ครับ ไฟล์ชุดนี้จะเป็นไฟล์ชุดแรกที่จำเป็น โดยเฉพาะไฟล์ index.php ที่เป็นไฟล์หลักในการเริ่มทำการเขียนเว็บไซต์และเป็นโครงสร้างของหน้าเว็บไซต์ ขณะที่ไฟล์ style.css จำเป็นสำหรับการเขียนข้อความลงไปเพื่อประกาศว่า ธีมที่เราจะเขียนนั้นชื่อว่าอะไร เวอร์ชั่นอะไร พัฒนาโดยใคร บริษัทอะไร มีไลเซ่นส์เป็นอย่างไร ในขณะที่ไฟล์อื่นๆ จะเป็นไฟล์ส่วนประกอบโครงสร้างของเว็บไซต์ และฟังก์ชั่นการใช้งาน มีรายละเอียดดังนี้

  1. Index.php เป็นไฟล์หลักของเทมเพลต ไฟล์นี้จำเป็นที่จะต้องมีทุกธีมของ WordPress
  2. style.css เป็นไฟล์หลักที่ใช้สำหรับการออกแบบสไตล์ เช่น สี ฟอนต์ ของเว็บไซต์
  3. Header.php เป็นไฟล์สำหรับการสร้างส่วนหัวของหน้าเว็บไซต์ และยังเป็นส่วนที่ใส่ข้อมูลสำคัญเช่นประเภทของเอกสาร (Document Type) ข้อมูลรายละเอียด (Meta Information) ลิงก์การดึงข้อมูลไฟล์สไตล์ชีทและสคริปท์ (Links to Stylesheets and scripts) และข้อมูลอื่นๆ
  4. Footer.php เป็นไฟล์สำหรับการสร้างส่วนท้ายของหน้าเว็บไซต์ และไฟล์สคริปต์ต่างๆ จะอยู่ในส่วนนี้
  5. Front-page.php เป็นไฟล์เทมเพลตสำหรับหน้าแรกของเว็บไซต์ถ้ามีไฟล์นี้อยู่ในธีม โดยเราสามารถไปตั้งค่าได้ที่ Admin > Settings > Reading
  6. Home.php เป็นไฟล์เทมเพลตที่แสดงหน้าแรกโดยพื้นฐาน ซึ่งจะแสดงในรูปแบบรายการบทความล่าสุด
  7. Singular.php เป็นเทมเพลตที่ใช้สำหรับหน้าบทความ (Posts) และหน้าหลัก (Pages)
  8. Single.php เป็นไฟล์สำหรับการเรียกใช้งานหน้าบทความเท่านั้น
  9. Page.php เป็นไฟล์หน้าหลักจะใช้กับหน้าที่ไม่เปลี่ยนแปลง เช่น หน้าติดต่อเรา (Contact Us) หน้าเกี่ยวกับเรา (About Us) เป็นต้น
  10. Category.php เป็นไฟล์ที่ใช้งานเกี่ยวกับหมวดหมู่ต่างๆ ของบทความ
  11. Tag.php เป็นไฟล์ที่ใช้งานเกี่ยวกับป้ายกำกับต่างๆ
  12. Date.php เป็นไฟล์ที่ใช้งานเกี่ยวกับวัน
  13. Archive.php เป็นไฟล์ที่ใช้สำหรับระบบจัดเก็บข้อมูลเป็นรายการทั้ง หมวดหมู่ ป้ายกำกับ วันที่เก็บเอกสาร
  14. Taxonomy.php เป็นไฟล์ที่ใช้งานเกี่ยวกับหมวดหมู่ของทุกประเภทของเรื่อง (Post Type)
  15. Author.php เป็นไฟล์ที่ใช้งานสำหรับรายละเอียดผู้เขียน
  16. Sidebar.php เป้นไฟล์สำหรับการสร้างแถบด้านข้างของหน้าเว็บไซต์
  17. Rtl.css เป้นไฟล์สไตล์เช่นเดียวกัน แต่ใช้สำหรับเว็บไซต์ที่อ่านเนื้อหาจากทางขวาไปซ้าย
  18. Comments.php เป้นไฟล์โครงร่าง (เทมเพลต) สำหรับการคอมเมนต์หรือเสนอความคิดเห็น

นอกจากนี้แล้ว เรายังมีไฟล์ที่ทำหน้าที่ขยายในไฟล์นั้นๆ ได้อีก ยกตัวอย่างเช่น single-{book}.php จะเป็นไฟล์ที่ใช้งานเกี่ยวกับรายการบทความที่เป็นหนังสือ เป็นต้น

โครงสร้างไฟล์ WordPress

โครงสร้างของไฟล์ WordPress จะเป็นไปตามภาพด้านล่าง โดยจะมีลำดับการเรียกไฟล์จากซ้ายไปขวา ในกรณีที่ไม่มีไฟล์ที่ถูกเรียก ลำดับไฟล์ถัดไปที่อยู่ข้างเคียงจะถูกเรียกแทนตามลำดับ (อ้างอิงจากเว็บ WordPress.org)

ทำความรู้จักกับโครงสร้างไฟล์ WordPress และลำดับการใช้งาน 1

ลำดับการเรียกไฟล์ WordPress

ลำดับการเรียกไฟล์ WordPress มีความสำคัญสำหรับผู้พัฒนาเว็บไซต์ในการออกแบบให้มีความหลากหลายของหน้าเว็บไซต์ โดยมีการใช้รูปด้านบนมาทำให้เห็นโครงสร้างขอลำดับไฟล์ โดยแบ่งแต่ละหน้าดังต่อไปนี้

การแสดงผลหน้าแรก (Front Page)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Front-page.php – ไฟล์นี้ถูกเรียกใช้เป็นลำดับแรกเพื่อใช้เป็นหน้าแรก โดยจะถูกเรียกไม่ว่าจะตั้งค่าในหน้าของการตั้งค่าการอ่าน (Settings -> Reading)  เป็นแบบรายการบทความล่าสุด (Your Latest Posts) หรือหน้าคงที่ (A Static Page)
  2. Home.php จะถูกเรียกใช้เป็นลำดับที่ 2 เมื่อระบบ WordPress ไม่สามารถค้นหาไฟล์ front-page.php ในธีมได้ โดยจะถูกเรียกในสองกรณี คือ กรณีแรกในหน้าแรก ส่วนของการตั้งค่าหน้าแรก (Front page displays) ได้ถูกกำหนดเป็นรายการบทความล่าสุด (Your Latest Posts) หรือ ในกรณีที่ถูกกำหนดเป็นหน้าบทความ (Posts page)
  3. Page.php ไฟล์นี้จะถูกเรียกใช้เป็นลำดับที่ 3 หากกรณี 2 ข้อแรกไม่มี และจะใช้เมื่อในส่วนของการตั้งค่าหน้าแรก (Front page displays) กำหนดหน้าคงที่หน้าใดหน้าหนึ่งให้เป็นหน้าแรก
  4. Index.php ในกรณีที่ไฟล์ front-page.php และไฟล์ home.php ไม่มีอยู่ในระบบ WordPress ไฟล์ index.php จะถูกเรียกใช้งานเมื่อในส่วนของการตั้งค่าหน้าแรก (Front page displays) ถูกตั้งค่าเป็นรายการบทความล่าสุด (Your latest posts)

หน้านโยบายส่วนบุคคล (Privacy Policy)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Privacy-policy.php ไฟล์นี้จะถูกใช้สำหรับหน้านโยบายส่วนบุคคล (Privacy Policy) เป็นลำดับแรก
  2. หน้าเทมเพลตไฟล์ เป็นหน้าที่จะถูกเรียกใช้ลำดับ 2 หากมีการสร้างหน้าเทมเพลตไฟล์เฉพาะ
  3. Page-{slug}.php จะถูกเรียกใช้เป็นลำดับที่ 3 ซึ่งในส่วนของสลัก (slug) เช่น page-privacy.php
  4. Page-{id}.php จะถุกเรียกเป็นลำดับที่ 4 ในส่วนของ id จะเป็นหมายเลขของหน้าที่เราต้องการ เช่น page-6.php เป็นต้น
  5. Singular.php จะถูกเรียกเป็นลำดับที่ 5
  6. Index.php จะถูกเรียกเป็นลำดับสุดท้าย

หน้าบทความ (Single Post)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Single-{post-type}-{slug}.php ไฟล์นี้จะเป็นไฟล์แรกที่ถูกเรียกในกรณีที่ระบบของ WordPress พบไฟล์ประเภทนี้อยู่ โดยในส่วนของ post-type ก็คือ ประเภทของบทความ ที่ผู้พัฒนาธีมทำการสร้างขึ้นมาเฉพาะ เช่น product, book, movie และในส่วนของ post slug ก็คือ ชื่อที่อยู่ท้ายสุดของลิงก์หน้านั้นๆ ยกตัวอย่างเช่น single-product-dmc-12.php
  2. Single-{post-type}.php จะเป็นไฟล์ที่ถูกเรียกในลำดับถัดมา ในกรณีที่ไฟล์ในข้อ 1 ไม่มี ยกตัวอย่างเช่น single-product.php
  3. Single.php เป็นไฟล์หลักที่มักจะใช้กันสำหรับการเรียกหน้าบทความ (Post) ทั้งหมด
  4. Singular.php เป็นไฟล์หลักที่ใช้สำหรับเรียกทั้งหน้าบทความ (Post) และหน้าคงที่ (Page) และจะถูกเรียกใช้เมื่อข้อ 1-3 ไม่มีในระบบ
  5. Index.php จะถูกเรียกเป็นลำดับสุดท้ายในกรณีที่ 4 ข้อแรกไม่มีในระบบ

หน้าคงที่ (Single Page)

สำหรับในส่วนของหน้าคงที่ (Page) นั้น จะใช้สำหรับประเภทหน้า (Page post-type) ซึ่งลำดับการเรียกใช้งานนั้นจะพิเศษกว่าในส่วนอื่นๆ ดังนี้

  1. ไฟล์เทมเพลตที่ออกแบบเฉพาะ (Custom template file)  ซึ่งหน้านี้เกิดจากการกำหนดไฟล์ที่เราเขียนให้เป็นหน้าเทมเพลตโดยไม่จำเป็นที่จะต้องทำการระบุชื่อไฟล์ขึ้นต้นด้วยคำว่า page ก็ได้ สามารถอ่านต่อได้ในหัวข้อ page template
  2. Page-{slug}.php จะเป็นการเรียกใช้งานไฟล์ที่ขึ้นต้นด้วยเพจและตามด้วย Slug ยกตัวอย่างเช่น page-recent-news.php
  3. Page-{id}.php จะถูกเรียกเป็นลำดับถัดมา โดย id ก็คือ เลขไอดีหน้าที่เราต้องการเรียกใช้งานนั่นเอง ยกตัวอย่างเช่น page-7.php
  4. Page.php
  5. Singular.php
  6. Index.php

สำหรับการเรียกใช้งานถัดมาจะทำการเรียกไฟล์ page.php , singular.php และ index.php ตามลำดับเมื่อไฟล์ใน 3 ข้อแรกไม่มีในระบบ

ปรึกษาด้านเว็บไซต์
ปรึกษาด้านเว็บไซต์

หมวดหมู่ (Category)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Category-{slug}.php เป็นไฟล์ที่ใช้เรียกหมวดหมู่ที่ชื่อว่า slug ยกตัวอย่างเช่น category-news.php ก็จะเรียกใช้สำหรับหมวดหมู่ที่ชื่อว่า news เป็นต้น
  2. Category-{id}.php เป็นไฟล์ที่เรียกใช้หมวดหมู่ที่มีหมายเลข id ตามที่กำหนด เช่น category-6.php
  3. Category.php
  4. Archive.php
  5. Index.php

ในส่วนของข้อ 3-5 จะถูกเรียกใช้งานในลำดับถัดๆ มา ในกรณีที่ 2 ข้อแรกไม่มีในระบบ

ป้ายกำกับ (Tag)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Tag-{slug}.php เป็นการเรียกใช้ไฟล์ tag ที่ระบุชื่อ slug เป็นการเรียกลำดับแรก
  2. Tag-{id}.php ในกรณีที่ไม่มีไฟล์ตามข้อ 1 ก็จะมาเรียก tag ที่ระบุไอดีเป็นลำดับถัดมา
  3. Tag.php ถูกเรียกเป็นลำดับที่ 3
  4. Archive.php ถูกเรียกเป็นลำดับที่ 4
  5. Index.php ถูกเรียกเป็นลำดับที่ 5

หมวดหมู่เฉพาะ (Custom Taxonomies)

สำหรับหมวดหมู่เฉพาะ (Custom Taxonomies) ไฟล์ที่ใช้นั้นก็จะมีความแตกต่างเล็กน้อย ดังต่อไปนี้

  1. Taxonomy-{taxonomy}-{term}.php เป็นการเรียกใช้ไฟล์ที่ชื่อ taxonomy และมีเทอมอยู่ด้านหลัง ยกตัวอย่างเช่น taxonomy-sometax-someterm.php แต่ถ้าเป็นกรณีของ post formats ในส่วนของ taxonomy จะเป็น post_format และเทอมจะเป็น post-format-{format} เมื่อรวมกันจะได้เป็น taxonomy-post_format-post-format-link.php เป็นต้น
  2. Taxonomy-{taxonomy}.php ไฟล์นี้จะถูกการเรียกใช้เฉพาะ taxonomy ที่กำหนดเท่านั้น เช่น Taxonomy-sometax.php ก็จะเรียกใช้สำหรับ sometax
  3. Taxonomy.php ถูกเรียกเป็นลำดับที่ 3
  4. Archive.php ถูกเรียกเป็นลำดับที่ 4
  5. Index.php ถูกเรียกเป็นลำดับที่ 5

ประเภทหน้าที่ถูกกำหนดเอง (Custom Post Types)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Archive-{post_type}.php ถูกเรียกเป็นลำดับที่ 1
  2. Archive.php ถูกเรียกเป็นลำดับที่ 2
  3. Index.php ถูกเรียกเป็นลำดับที่ 3

หน้าผู้เขียน (Author Display)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Author-{nicename}.php ถูกเรียกเป็นลำดับที่ 1
  2. Author-{id}.php ถูกเรียกเป็นลำดับที่ 2
  3. Author.php ถูกเรียกเป็นลำดับที่ 3
  4. Archive.php ถูกเรียกเป็นลำดับที่ 4
  5. Index.php ถูกเรียกเป็นลำดับที่ 5

หน้าวัน (Date)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Date.php ถูกเรียกเป็นลำดับที่ 1
  2. Archive.php ถูกเรียกเป็นลำดับที่ 2
  3. Index.php ถูกเรียกเป็นลำดับที่ 3

หน้าผลลัพธ์การค้นหา (Search result)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. Search.php ถูกเรียกเป็นลำดับที่ 1
  2. Index.php ถูกเรียกเป็นลำดับที่ 2

หน้า 404 (Not Found)

ลำดับความสำคัญสูงที่สุด โดยมีลำดับการเรียกไฟล์ดังต่อไปนี้

  1. 404.php ถูกเรียกเป็นลำดับที่ 1
  2. Index.php ถูกเรียกเป็นลำดับที่ 2

หมายเหตุ  index.php เป็นลำดับสุดท้ายเสมอของโครงสร้าง WordPress และเป็นไฟล์หลักที่ใช้ในการสร้างเว็บไซต์

ท้ายที่สุดนี้เราจะเห็นได้ว่า โครงสร้างและลำดับของไฟล์ของ WordPress นั้นมีความสำคัญมาก เราสามารถที่จะเขียนหรือแก้ไขไฟล์ที่เราต้องการซึ่งจะทำให้การเขียนหรือแก้ไขธีมต่างๆ ได้ง่ายขึ้นเป็นลำดับ หวังว่าทุกท่านคงจะได้ประโยชน์ในบทความนี้ไม่มากก็น้อยนะครับ สวัสดีครับ