Custom Post Type คือ โพสที่เราสามารถกำหนดและจำแนกหมวดหมู่แบบกว้างๆได้ ปรับแต่งการทำงานได้หลายหลาย
ดังตัวอย่าง จะเห็นว่า เราสามารถแบ่งโพสต่างๆ ออกเป็นส่วนๆ แทนการแยกแบบ Category (แต่ใน Custom Post Type นั้นๆสามารถมี category ย่อยของมันเองได้)
หน้าตาของ Coustom Post Type (ต่อไปของเรียกว่า CPT) จะเหมือนกับการเขียนโพสทุกประการ
สำหรับปลั๊กอินสำหรับใช้ในการสร้าง CPT มีชื่อว่า Custom Post Type UI
ลองสร้าง CPT ใหม่ ไปที่ CPT UI >> Add/Edit Post Types จากนั้นตั้งค่า ดังนี้
Post Type Slug : project (ตัวเล็กเท่านั้น)
Plural Label : Projects (ส่วนนี้จะปารกฎที่แถบด้านข้างของแผงความคุมสำหรับแอดมิน)
Singular Label : Project
จากนั้นคลิกที่ Add Post Type
จะเห็นว่า มี Post Type ใหม่ปกรากฎขึ้นมาแล้ว
เราสามารถแก้ไขการตั้งค่าต่างๆได้ หากจะเปลี่ยน Menu ก็สามารถทำได้โดยใช้ Code ของ Dashicon
ไปที่ https://developer.wordpress.org/resource/dashicon เพื่อเลือก icon สำหรับ Menu
เมื่อได้ icon ที่ต้องการแล้ว คลิกเลือก
จะมี Code สำหรับนำไปใช้ ให้ Copy ไว้
จากนั้น นำไปวางไว้ในช่องของ Menu icon
จะเห็นว่า icon มีการเปลี่ยนแปลงแล้ว
เราสามารถปรับการแสดงผล และ option ต่างๆได้คล้ายๆกับ Post
ทดสอบเขียนเรื่องใหม่ไปที่ Projects >> เขียนเรื่องใหม่
จะเห็นว่า มีหน้า Editor คล้ายกับ Post จากนั้นลองเพิ่ม Content เข้าไป
เมื่อเสร็จแล้ว จะเห็นว่ารูปแบบการแสดงผลจะคล้ายกับ Post ทุกอย่าง และเรายังสามารถแยก category ย่อยได้อีกด้วย
ดังตัวอย่างข้างต้น เหล่านี้เรียกว่า Taxonomy หากต้องการสร้าง ไปที่ CPT UI >> Add/Edit Taxonomies ตั้งค่าดังนี้
Taxonomy Slug : project_category
Plural Label : Categories
Singular Label : Category
ในหัวข้อ Attach to Post Type จะมีให้เช็ค Projects ที่เราเคยสร้างไว้ก่อนหน้านี้ ซึ่งในส่วนนี้ จะเป็นการผูก CPT กับ Taxonomy นี้เข้าด้วยกัน
ปรับแต่งเพิ่มอีกนิดหน่อย มองหา Hierarchical ให้เลือกเป็น True เพื่อ Taxonomy ของเราจะสามารถแบ่งความสัมพันธ์แบบ แม่-ลูก ได้
ลองสร้าง Category ของ CPT ไปที่ Projects >> Categories จากนั้นเพิ่ม Category ต่างๆลงไป
จะเห็นว่า เมื่อเราสร้างหน้าใหม่ หรือ แก้ไขหน้าต่างๆใน Projects จะมีหัวข้อของ Categories ปรากฎขึ้นให้ได้ใช้แล้ว
หากต้องการสร้างเมนูจาก CPT ก็สามารถทำได้ แต่ระบบเริ่มต้นจะปิดการใช้งานไว้
เปิดใช้งานโดยการคลิกแท็บ ตัวเลือกหน้า จากนั้นเลือกกล่องที่ต้องการใช้งาน ในที่นี้ ให้คลิกเลือก Projects และ Categories
จะเห็นว่าสามารถสร้างเมนูได้จาก Taxonomy เหล่านั้นได้
หากการแสดงผลยังไม่สวย ก็สามารถปรับแต่งการจัด Layout ได้ที่ รูปแบบเว็บ >> ตั้งค่าธีม
Blog Columns : 3
ในบทต่อไป เราจะลองสร้าง ฟิลเก็บข้อมูลเพื่อนำมาแสดงผลหน้าเว็บด้วย Advanced Custom Fields
มันลิส post ทั้งหมดของ custom post type เป็น url ได้ใหม เช่น https://mysite.com/projects แบบนี้ใหมครับ สมมุติว่า custom post type ชื่อ project
ขอบคุณครับ