เรียนรู้ Custom Post Type และการประยุกต์ใช้งาน

เรียนรู้ Custom Post Type และการประยุกต์ใช้งาน


Custom post type คือ โพสต์ที่มีช่องสำหรับเก็บข้อมูลพิเศษที่นอกเหนือจาก content ที่เรียกว่า custom fields คุณคุ้นเคยกับโพสต์ประเภทนี้โดยไม่รู้ตัวมาแล้วถ้าคุณใช้ WordPress มาสักระยะหนึ่ง ถ้าคุณเคยใช้ Contact Form 7 เวลาคุณจะสร้าง contact form ขึ้นมาสักอันหนึ่ง คุณกำลังใช้ custom post type หรือโพสต์พิเศษ

บทความนี้จะสอนให้คุณรู้จักและทำความเข้าใจ Custom Post Type ในระดับพื้นฐานซึ่งเพียงพอให้คุณไปประยุกต์ใช้งานได้ เนื้อหาอยู่ในระดับกลาง คุณไม่จำเป็นต้องมีความรู้อะไรพิเศษ ขอเพียงแค่ผ่านการใช้ WordPress มาสักระยะหนึ่ง คุ้นเคยกับการเปลี่ยนธีมและการลงปลั๊กอิน หากคุณเพิ่งเริ่มต้นขอแนะนำให้อ่าน Word Press ขั้นพื้นฐาน ก่อน

จุดเด่นของ WordPress นอกจากความง่ายในการใช้งานสำหรับยูสเซอร์แล้ว ความง่ายในการพัฒนา plugin (รวมทั้ง theme) สำหรับนักพัฒนาก็เป็นจุดเด่นอันหนึ่งของ WordPress และสำหรับนักพัฒนาแล้ว สิ่งหนึ่งที่ขาดไม่ได้คือโพสต์พิเศษ ซึ่งถือเป็นพระเอกตัวหนึ่งของ WordPress ซึ่งมีใช้ทั้งใน theme และ plugin

หลายคนคงคุ้นเคยกับการเปลี่ยน theme ลง plugin หลายครั้ง คงเคยจะสังเกตเมนูทางซ้ายว่ามักจะมีเมนูใหม่เกิดขึ้น เมื่อคลิกไปแล้วก็มีลักษณะคล้ายกับเมนู Posts ที่เคยใช้ คือสามารถเขียนโพสต์ลงไปได้แต่มี field ให้ใส่ข้อมูลพิเศษที่เกี่ยวกับงานนั้นๆ

สมมุติว่าเราอยากจะสร้างเว็บไซต์สำหรับขายหนังสือเก่า แทนที่เราจะไปเขียนโพสต์หนึ่งโพสต์ต่อหนังสือหนึ่งเล่ม เราก็สร้างโพสต์พิเศษสำหรับหนังสือขึ้นมาเป็นการเฉพาะแยกออกมาต่างหากจากเมนู Posts ธรรมดา และที่สำคัญเราสามารถเพิ่มเติม field อื่นๆที่เป็นลักษณะเฉพาะสำหรับหนังสือได้ เช่น ปีที่พิมพ์ ชื่อผู้แต่ง สำนักพิมพ์ เป็นต้น

หรือหากคุณจะทำเว็บไซต์สำหรับโพสต์ตำแหน่งงาน เราก็สร้างโพสต์ที่มี field ที่เกี่ยวข้องเช่น วุฒิการศึกษา อายุ ประสบการณ์ สถานที่ทำงาน เป็นต้น

field พิเศษที่ยกตัวอย่างมาข้างต้น WordPress จะเรียกว่าเป็น custom fields

คุณอาจจะถามว่าแล้วจะต่างจากการใส่ข้อมูลทั้งหมดไว้ในตัวโพสต์(content)ตรงไหน คำตอบคือ

  • Custom post type ช่วยให้สามารถใส่ข้อมูลได้เป็นระบบมากขึ้น คือแยกโพสต์สำหรับงานที่เฉพาะเจาะจงออกมา และแยกข้อมูลที่เป็นลักษณะเฉพาะของโพสต์แบบนั้นๆออกมาเป็นฟิลด์พิเศษ
  • ช่วยให้นักออกแบบเว็บไซต์สามารถออกแบบเลย์เอาท์ได้ง่ายขึ้น และสวยงามมากกว่าการเอาข้อมูลทั้งหมดไปรวมอยู่ในตัวโพสต์ทั้งหมด คือนักออกแบบสามารถเลือกเอาข้อมูลใน custom fields ต่างๆไปวางในจุดต่างๆได้เหมือนกับการออกแบบหน้าหนังสือในสื่อพิมพ์ ซึ่งจะมีประโยชน์อย่างมากถ้าหากใช้เอดิเตอร์พิเศษที่สามารถจัดเลย์เอาท์ภายในโพสต์ได้อย่างเช่น King composer, Elementor เป็นต้น
  • ช่วยให้สามารถพัฒนาโปรแกรมสำหรับค้นหาข้อมูลที่เกี่ยวกับโพสต์ได้ดีกว่า อย่างเช่น ถ้าเราสร้างโพสต์สำหรับหนังสือ แล้วมีฟิลด์สำหรับใส่ชื่อผู้แต่ง เราสามารถเขียนโปรแกรมให้ค้นหาหนังสือตามชื่อผู้แต่งจากฟิลด์เหล่านี้ได้

สำหรับยูสเซอร์ธรรมดาอาจจะตั้งคำถามว่าแล้วเราจะสร้างและใช้ประโยชน์จาก custom post type ได้อย่างไร อันนี้ต้องพึ่ง plugin ครับ WordPress มี plugin สำหรับการนี้อยู่หลายตัว ผมจะเริ่มจากการสร้างฟิลด์พิเศษก่อนซึ่ง WordPress สามารถสร้างกำกับไปกับโพสต์ได้โดยไม่ต้องใช้ปลั๊กอิน(แต่ก็ไม่สะดวกต้องใช้ปลั๊กอินอยู่ดี) จากนั้นก็จะกล่าวถึงการสร้างโพสต์พิเศษซึ่่งต้องทำโดยอาศัยการลงปลั๊กอินเพิ่มเติม

สรุป
Custom Post Type คือ โพสต์พิเศษที่แยกต่างหากออกมาจากโพสต์มาตรฐาน โดยมี filed พิเศษสำหรับใส่ข้อมูลเฉพาะ
Custom Fields คือ ฟิลด์ภายใต้ custom post type นั้นๆ

Table of Contents

การสร้าง custom fields

การสร้างฟิลด์พิเศษเป็นเครื่องมือพื้นฐานที่มีอยู่ใน WordPress มาตรฐานอยู่แล้วเพียงแต่ต้องเปิดให้มองเห็นก่อนเท่านั้นเอง แต่เป็นเครื่องมือที่ไม่สมบูรณ์เพราะใช้สำหรับเพิ่มฟิลด์ข้อมูลทางด้านหลังเว็บเท่านั้น เมื่อเพิ่มแล้วเราสามารถกรอกข้อมูลเพิ่มเติมกำกับไปกับโพสต์ได้ แต่การที่จะเอาฟิลด์ข้อมูลที่สร้างขึ้นมาแสดงที่หน้าเว็บไซต์จะต้องมีความรู้เกี่ยวกับการปรับแต่งธีมเพื่อแทรกรหัสสำหรับแสดงฟิลด์ข้อมูลหรือไม่ก็ต้องใช้ปลั๊กอิน แต่ในทางปฏิบัติเราจะไม่ใช้ฟังก์ชันอันนี้ของ WordPress เพราะครึ่งๆกลางๆ แต่ผมจะกล่าวถึงก่อนเพื่อให้มองเห็นหลักการ

สร้างภายใน post มาตรฐาน

ในแต่ละโพสต์ที่เราใช้อยู่ตามปกติจะมีช่องให้ใส่ฟิลด์เพิ่มอยู่ใต้กล่อง content ถ้าเป็น WordPress ก่อนหน้า 5.0 คุณต้องเปิด Screen options ด้านบน แล้วคลิก Enable Custom Fields ก่อน

WordPress ต่ำกว่า 5.0 คุณจะต้องคลิกที่ Screen Options เพื่อให้แสดงกล่อง custom fields
เวอร์ชั่นตำกว่า 5.0

ถ้าเป็น WordPress 5.0 ขึ้นไปซึ่งเอดิเตอร์มาตรฐานก็คือ Gutenberg ให้คุณคลิกที่จุดสามจุดที่มุมขวาบนแล้วเลือก Options แล้วคลิก Custom fields

WordPress 5.0 ขึ้นไปให้คลิก 3 จุดมุมขวาบน
เวอร์ชั่น 5.0 ขึ้นไป เลือก Options
WordPress 5.0 ขึ้นไปให้คลิกที่ custom fields
เวอร์ชั่น 5.0 ขึ้นไป คลิก Custom Fields

Note ถ้ามีกล่องถามว่าคุณจะ Leave หรือ Stay ให้เลือก Leave แล้วหน้าจอจะ refresh แล้วกลับมาที่เดิม (ซึ่งดูแปลกๆผมเข้าใจว่าเป็นปัญหาในทางเทคนิคบางอย่างที่ในเวอร์ชั่นต่อไปของ Gutenberg คงต้องแก้ไข)

เมื่อเปิดแล้วก็จะมีกล่องด้านลงล่าง ภายในเครื่องของคุณอาจจะมีลักษณะแบบนี้

ฟิลด์ที่เกิดจากการสร้างของธีมหรือปลั๊กอิน
ฟิลด์เพิ่มเติมที่เกิดจากธีมหรือปลั๊กอินที่เราติดตั้งไว้

ซึ่งแต่ละคนจะขึ้นไม่เหมือนกันขึ้นอยู่กับธีมหรือปลั๊กอินที่คุณติดตั้งไว้ในเว็บไซต์ เพราะส่วนเสริมเหล่านี้มักสร้าง field พิเศษเพื่อใช้ในธีมหรือปลั๊กอินแต่ละอัน เราไม่จำเป็นต้องสนใจในส่วนนี้เพราะเราจะสร้างของเราขึ้นมาเอง ให้เลื่อนจอลงมาด้านล่างจะพบ

สร้างและใส่ข้อมูลลงไปในฟิลด์ที่สร้างขึ้นมา
ส่วนที่ใช้สำหรับสร้างฟิลด์พิเศษ

คลิกที่ Add New (ตำแหน่งเดียวกับ Cancel ในรูป) แล้วในช่อง Name ใส่ชื่อฟิลด์ที่ต้องการ เช่นถ้าคุณต้องการสร้างโพสต์ประกาศงานว่าง อาจสร้างฟิลด์สำหรับใส่ “ตำแหน่ง” แต่ต้องตั้งชื่อเป็นภาษาอังกฤษ ให้เป็น “position” ช่อง Value ใส่ข้อมูลที่ต้องการลงไป กดปุ่ม Add Custom Field แลัวกด Update

การแสดงฟิลด์ที่หน้าเว็บไซต์

ดังที่ได้กล่าวไว้ตอนต้นคือระบบของ WordPress ออกแบบไว้ให้สำหรับสร้างฟิลด์และกรอกข้อมูลด้านหลังเว็บไซต์แต่ไม่สามารถแสดงข้อมูลในฟิลด์นั้นที่หน้าเว็บไซต์ได้ คุณอาจจะตั้งคำถามว่าถ้าอย่างนั้นมันจะมีประโยชน์อะไร ? เริ่มแรก WordPress สร้างคุณสมบัตินี้ไว้ให้สำหรับผู้สร้างธีมหรือปลั๊กอินนำไปประยุกต์ให้ภายในเพื่อการทำงานของส่วนเสริมนั้นๆ ดังที่คุณอาจสังเกตเห็นว่ามีชื่อธีมหรือปลั๊กอินที่คุณใช้อยู่ปรากฏอยู่ในช่อง Name ในแต่ละโพสต์

สำหรับผู้ใช้โดยทั่วไปการนำฟิลด์ที่สร้างขึ้นมาแสดงที่หน้าเว็บไซต์ไม่ใช่เรื่องง่าย ถ้าคุณรู้วิธีการปรับแต่งธีม คุณอาจใส่ code ต่อไปนี้ลงไปใน functions.php ของ child theme เพื่อให้แสดงฟิลด์เพิ่มเติมต่อท้าย content ของโพสต์

function wsa_after_content($content) {
	$custom_fields = '';
	$custom = get_post_custom();
	foreach($custom as $key => $value) {
		if ($key[0] <> '_')
			$custom_fields = $custom_fields.'<strong>'.$key.'</strong>'.': '.implode(", ",$value).'<br />';			
	}
	return $content.$custom_fields;
}
	
add_filter('the_content', 'wsa_after_content');

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

การสร้างฟิลด์ด้วย plugin

ในทางปฏิบัติการสร้างฟิลด์พิเศษกำกับไปกับทุกโพสต์เป็นงานที่ซ้ำซ้อน เช่นถ้าคุณมีประกาศตำแหน่งงานซึ่งมีฟิลด์ “ตำแหน่ง” “เงินเดือน” “เพศ” ถ้าคุณมีหลายประกาศคุณจะต้องสร้างฟิลด์เหล่านี้กำกับไปทุกโพสต์ เทคนิคในการลดความซ้ำซ้อนนี้มีอยู่สองวิธีคือ หนึ่งเอาฟิลด์เหล่านี้มารวมกันเป็นกรุ๊ปๆ(group)หนึ่ง แล้วผูกกรุ๊ปนี้เข้ากับโพสต์ที่ต้องการ สองสร้างโพสต์ใหม่ขึ้นมาทั้งอันโดยมีฟิลด์เหล่านี้อยู่ในโพสต์นั้น WordPress ไม่มีฟังก์ชันเหล่านี้โดยตรงสำหรับผู้ใช้โดยทั่วไปจึงต้องอาศัยปลั๊กอินเสริม ซึ่งตัวที่ผมจะแนะนำก็คือ Advanced Custom Fields ซึ่งต่อไปจะเรียก ACF

การจัด field เป็น group

เมื่อติดตั้ง ACF จะปรากฏเมนู “Custom Fields” คลิก Add New เพื่อสร้าง field group อันใหม่

สร้าง job field group ขึ้นมา
สร้าง field group สำหรับโพสต์ประกาศตำแหน่งงาน

กดปุ่ม Add Field เพื่อเพิ่มฟิลด์ที่ต้องการเข้าไป

ค่าที่ต้องตั้งได้แก่
Label ตั้งชื่อภาษาไทยได้
Name ตั้งชื่อเป็นภาษาอังกฤษ ห้ามใส่ช่องว่างให้ใส่ _ หรือ – แทน
Field Type ปกติจะเป็น Text คือใส่ข้อความบรรทัดเดียว เลือก Text Area ถ้าต้องการข้อความหลายบรรทัด เป็นต้น
Required เลือกเป็น Yes ถ้าบังคับให้ต้องใส่ ปกติจะเป็น No

การใช้ field group และการแสดงฟิลด์

เมื่อเราสร้าง field group ขึ้นมาแล้วก็จะปรากฏช่องสำหรับใส่ข้อมูลในฟิลด์ตามที่เราได้สร้างไว้ ซึ่งจะปรากฏอยู่ในโพสต์ใดบ้างก็ขึ้นอยู่กับที่เราเซตไว้ก่อนหน้า ซึ่งก็จะคล้ายกับ การใช้ WordPress สร้างฟิลด์ให้แต่มีความยืดหยุ่นมากกว่าตรงที่เราสามารถผูก field group หลายกรุ๊ป(ซึ่งแต่ละกรุ๊ปประกอบด้วยหลายฟิลด์)เข้ากับโพสต์ได้

ข้อดีอีกข้อของ ADF ที่สะดวกกว่าการสร้างด้วย WordPress ก็คือมี shortcode ที่สามารถนำไปแปะไว้ในโพสต์เพื่อแสดงฟิลด์ที่ต้องการได้โดยตรงโดยไม่ต้องไปเขีน code อะไรเกี่ยวกับเลย์เอาท์ของธีม โดยใช้ [ adf field=”field name” ]

สำหรับ job post ใส่ shortcode ของ Advanced Custom Fields เพื่อให้แสดงในหน้า frontend
ใช้ shortcode ของ ACF เพื่อแสดงฟิลด์ของ job

Note แม้ว่าเวลาที่คุณเขียนโพสต์, ADF จะมีช่องให้ใส่ข้อมูลพิเศษหลายแบบเข่น Text, Text Area หรืออื่นๆ แต่เวลาใช้ shortcode จะใช้ได้สำหรับฟิลด์ข้อมูลแบบ Text เท่านั้น ถ้าเป็นฟิลด์แบบอื่นก็ต้องไปเกี่ยวข้องกับเรื่องทางเทคนิคอยู่ดี หรือไม่ก็ต้องหาปลั๊กอินที่เข้ามาเสริม ADF อีกที

แนวคิด custom post type

แม้ว่าการสร้างฟิลด์ขึ้นมาใหม่ได้จะช่วยทำให้คุณสะดวกมากขึ้นในการสร้างโพสต์ที่ตรงกับประเภทงาน แต่ก็ยังไม่สะดวกอยู่ดี สมมติว่าคุณมีประกาศสองประเภท หนึ่งเป็นประกาศตำแหน่งงาน สองเป็นประกาศงานแสดงสินค้า สมมติว่าอันหลังคุณสร้างฟิลด์ชื่อ “วันที่” “ชื่องาน(event)” “สถานที่” “เวลา” “ผู้จัด” แล้วรวมไว้ใน field group อันหนึ่ง

สร้าง event field group ขึ้นมา
Field group สำหรับ งาน event

ซึ่งถ้าคุณจะสร้างโพสต์ประกาศงานอีเวนท์โดยคลิก Posts->Add New คุณจะเห็นว่ามีช่องสำหรับใส่ฟิลด์ของ Job กับ Event ปรากฏอยู่ด้วย

สำหรับ event post ใส่ shortcode ของ Advanced Custom Fields เพื่อให้แสดงในหน้า frontend
เราต้องการเขียนโพสต์ event แต่กลับมีฟิลด์ของ job ปรากฏอยู่ด้วย

เแต่คุณต้องการเฉพาะ Event field group วิธีที่สะดวกกว่าก็คือสร้างโพสต์พิเศษขึ้นมาอันหนึ่งแล้วให้ปรากฏเป็นเมนูแบบเดียวกับโพสต์มาตรฐานของ WordPress แต่มี custom fields ที่ตรงกับประเภทของโพสต์นั้นเท่านั้น โพสต์ลักษณะนี้เรียกว่า Custom Post หรือ Custom Post Type ซึ่งต่อไปนี้จะเรียกว่าโพสต์พิเศษ

ตามตัวอย่างข้างต้นเท่ากับว่าเราต้องมีโพสต์พิเศษสองอัน อันหนึ่งสำหรับเขียนประกาศตำแหน่งงาน และอีกอันหนึ่งสำหรับประกาศงานอีเวนท์ต่างๆ แทนที่เราจะรวมโพสต์งานว่างและอีเวนท์ไว้ที่เมนู Posts จะสะดวกกว่าถ้าเราแยกโพสต์ Job และ Event ไว้เป็นเมนูที่แยกต่างหากออกมา เมื่อต้องการสร้างโพสต์แบบให้ก็คลิกที่ Add New ของโพสต์แบบนั้นๆ ซึ่งจะง่ายทั้งการสร้างและการค้นหา ปลั๊กอินที่ทำหน้าที่สร้างโพสต์พิเศษแบบนี้มีหลายตัวแต่ที่เป็นที่นิยมก็คือ Custom Post Type UI ซึ่งจะเรียกย่อๆว่า CPT UI

การสร้าง custom post type

หลังจากติดตั้งจะปรากฏเมนู CPT UI คลิกที่เมนู Add/Edit Post Type

สร้าง job post ขึ้นมาเป็นการเฉพาะ
สร้าง Job โพสต์พิเศษ

Post Type Slug : เป็นคำที่นำหน้า post title ใน url สำหรับโพสต์ประเภทนี้
https://your-web.com/job_post/post-title
Plural Label : เป็นชื่อเมนูสำหรับโพสต์ประเภทนี้
Singular Label : ใช้เป็นคำเรียกโพสต์ประเภทนี้

หากเลื่อนลงมาท้ายๆจะมีช่องให้กรอกข้อมูลจำนวนมากซึ่งในเบื้องต้นคุณไม่จำเป็นต้องไปเซตอะไรมาก ขอให้คุณลองสร้างโพสต์พิเศษขึ้นมาสองอันคือ job_post กับ event_post หลังจากสร้างแล้วสังเกตว่าจะมีเมนูปรากฏขึ้นสองอันชื่อ Jobs กับ Event ซึ่งมีลักษณะเดียวกับเมนู Posts มาตรฐานแต่จะใช้สำหรับโพสต์ประเภท job และ event เท่านั้น

หลังจากสร้างแล้วหากต้องการแก้ไขโพสต์พิเศษที่สร้างขึ้นให้คลิกที่เมนู Registered Types/Taxes

เชื่อม CPT UI เข้ากับ ACF

เมื่อเราสร้างโพสต์พิเศษของเราขึ้นมาแล้วขั้นตอนต่อไปก็คือไปที่เมนู Custom Fields เพื่อบอกว่าเราจะให้ field group ใดผูกอยู่กับโพสต์พิเศษใดที่เราสร้างขึ้นก่อนหน้านี้

ใน CPT UI เซต post type เข้ากับ job
เลือก job filed group แล้วผูกเข้ากับโพสต์ประเภท job
ใน CPT UI เซต post type เข้ากับ event
เลือก event filed group แล้วผูกเข้ากับโพสต์ประเภท event

เขียนโพสต์ใหม่แบบ Job และ Event

ตอนนี้เรามีโพสต์ประเภทประกาศสมัครงาน (job) ที่ผูกเข้ากับ job field group และโพสต์ปรระเภทงานอีเวนท์ (event) ที่ผูกเข้ากับ event group field แล้ว ต่อไปเราก็เพียงแต่คลิกไปที่เมนู Job ซึ่งก็เหมือนโพสต์มาตรฐานต่างกันเพียงแต่ด้านล่างจะมีฟิลด์เฉพาะใน field group ที่เราผูกเอาไว้กับโพสต์ประเภทนี้นั้นๆ โดยไม่มี field group อื่นมาปรากฏให้รกตา

ข้อมูลที่ใส่ใน content ของโพสต์นี้ก็คัดลอกมาจากตัวอย่างข้างต้นได้เลย โพสต์เฉพาะเป็นเพียงการจัดหมวดหมู่ให้เป็นระบบเท่านั้น

การใช้ custom post type กับการสร้าง web application

มาถึงตรงนี้ผมเชื่อว่าคุณคงมีความเข้าใจประโยขน์ของโพสต์เฉพาะพอสมควรแล้ว และคุณก็คงจะเดาออกมาโพสต์ประเภทนี้คุณใช้มันมาก่อนโดยไม่รู้ว่ามันคือ custom post type เวลาคุณลงปลั๊กอินคุณจะสังเกตว่าจะมีเมนูใหม่เพิ่มขึ้นมาซึ่งมีลักษณะคล้ายกับโพสต์ปกติ คือมี title, content แต่มีช่องใส่ข้อมูลเพิ่มเติมด้านล่างที่แตกต่างออกไปซึ่งก็คือ custom fields นั่นเอง ซึ่งปลั๊กอินทั้งสองตัวนี้ (Advanced Custom Fields และ Custom Post Type UI) ก็สร้างโพสต์พิเศษ(และเมนู)แบบนี้ขึ้นมาเพื่อสร้างตัวมันเอง!

ถ้าคุณสังเกตให้ดีคุณจะเห็นว่า โพสต์มาตรฐานและโพสต์พิเศษมีลักษณะคล้าย record ของข้อมูล หนึ่งโพสต์ก็คือหนึ่ง record หลายๆโพสต์หรือหลายๆ record รวมทั้งเป็นตารางข้อมูล โดยฟิลด์ข้อมูลก็คือ custom fields ดังนั้นถ้าคุณมีข้อมูลในลักษณะที่เป็น record ที่ต้องการเก็บไว้ในฐานข้อมูลคุณก็สามารถนำเอาโพสต์พิเศษไปใช้ได้ ซึ่งนี่เป็น feature พื้นฐานของโปรแกรมที่ทำงานบนเบราเซอร์(web application)

ดังนั้นหากคุณต้องการ web application ที่ทำการเก็บข้อมูลแบบ record โดยทำงานแบบออนไลน์คุณอาจนำหลักการ custom post type ไปประยุกต์ใช้ได้โดยไม่ต้องมีพื้นฐานทางโปรแกรมมิ่งใดๆ