WordPress มี post statuses ตัวในตัวหลายอย่าง เช่น draft, published, trash, pending, scheduled ถ้าสถานะเหล่านี้ไม่พอสำหรับ workflow คุณ สร้าง custom post statuses เองได้
เอกสารทางการของ WordPress มีวิธีง่ายเพิ่ม custom post statuses คัดลอก snippet วางใน functions file หรือ functionality plugin แต่มันไม่ทำงานทุกครั้ง และผลลัพธ์ค่อนข้าง finicky เพิ่มเติม custom post status ที่เพิ่ม ไม่ปรากฏใน dropdown menu ถ้าไม่ไปเสียเวลากับ javascript
เพื่อหลีกเลี่ยงปัญหาทั้งหมดจากการเพิ่ม code snippet และทำให้ง่ายขึ้น เราจะใช้ปลั๊กอินฟรีชื่อ PublishPress
PublishPress เป็นปลั๊กอินเล็กแตแรง ออกแบบมาเฉพาะจัดการ editing flow ของ WordPress ธรรมดาและ multi-author มีฟีเจอร์ built-in สร้างและเพิ่ม custom post statuses ใหม่ได้เร็ว
เพิ่ม Custom Post Status ใน WordPress
- ติดตั้ง PublishPress บน WordPress ไป "Plugins" -> "Add New" ค้นหา "PublishPress" คลิก "Install"

- พอติดตั้งแล้ว ไป "PublishPress -> Settings -> Statuses" นี่คือที่เพิ่ม post status เอง

- PublishPress เพิ่ม 3 post statuses ใหม่อัตโนมัติ คือ Pitch, Assigned, In Progress ทันทีติดตั้ง เห็นที่แผงขวา เพิ่มของตัวเอง ใส่ชื่อและคำอธิบายในช่อง "Name" และ "Description" ถ้าอยากปรับแต่ง สีและไอคอน custom เพื่อแยกจาก post status อื่น คลิก "Add New Status"

- ขึ้นกับ user role custom post status ที่สร้าง อาจไม่ปรากฏใน dropdown menu ของ post/page editor ถ้าอยากให้โชว์เสมอ ไปแท็บ "Options" เลือก "Enabled" ถัดจาก "Always Show Dropdown" คลิก "Save Changes"

- เสร็จแล้ว สร้าง custom post status ใหม่สำเร็จ

- ถ้าอยากเปลี่ยน default post status จาก Draft เป็นอะไรก็ได้ ที่สร้างไป เปลี่ยนได้ โดยคลิก "Make Default" ลิงก์ที่โผล่เวลา hover เมาส์เหนือ post status ในหน้าเดียวกัน

จากนี้ไป จะเห็น custom post status ใน dropdown menu ตอนสร้าง post หรือ page

ยังเห็น custom post status ใหม่ในเมนู Quick Edit ด้วย

สิ่งหนึ่งต้องจำ: ตอนจะ uninstall PublishPress ต้องเปลี่ยน post statuses ของ posts, pages, custom post types ทั้งหมด จาก custom post status กลับเป็น default WordPress post status อย่าง Draft ก่อน uninstall
มิฉะนั้น โพสต์ที่มี custom post status จะหาย แตไม่ถูกลบจาก dashboard WordPress เรื่องเดียวกันแม้ใช้ snippet จากเอกสาร WordPress อย่างเป็นทางการ ถ้าลืมเปลี่ยนสถานะก่อน uninstall ทำให้มันกลับมาได้ โดยแค่ติดตั้งปลั๊กอินซ้ำจาก WordPress repository
คอมเมนต์ด้านล่าง แชร์ความคิดและประสบการณ์ใช้วิธีนี้เพิ่ม custom post statuses ใน WordPress