7-1: สร้างข้อมูลชนิดใหม่ ด้วย Custom Post Type และ Taxonomy


 

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

Subscribe
Notify of
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Yothin Samrandee
29 ต.ค. 2022 00:13 น.

มันลิส post ทั้งหมดของ custom post type เป็น url ได้ใหม เช่น https://mysite.com/projects แบบนี้ใหมครับ สมมุติว่า custom post type ชื่อ project

ขอบคุณครับ