วิธีสร้างและใช้ฟิลด์ที่กำหนดเองของ WordPress
เผยแพร่แล้ว: 2020-04-23ข้อดีหลักประการหนึ่งของ WordPress คือความเก่งกาจซึ่งเป็นไปได้ด้วยคุณสมบัติการขยายในตัว ในบรรดาสูตรส่วนขยายต่างๆ ที่เรานำเสนอ เราพบ ฟิลด์ที่กำหนดเอง :
WordPress มีความสามารถในการอนุญาตให้ผู้เขียนบทความกำหนด ฟิลด์ที่กำหนดเอง ให้กับโพสต์ ข้อมูลเพิ่มเติมตามอำเภอใจนี้เรียกว่า ข้อมูลเมตา
ข้อมูลเมตาได้รับการจัดการด้วย คู่คีย์/ค่า คีย์ คือชื่อขององค์ประกอบข้อมูลเมตา ค่า คือข้อมูลที่จะปรากฏในรายการข้อมูลเมตาในแต่ละโพสต์ที่เกี่ยวข้องกับข้อมูล
เอกสาร WordPress.org
ตัวอย่างเช่น หากเราต้องการสร้างข้อมูลเมตาเกี่ยวกับแนวคิดที่เกี่ยวข้องกับโลกยานยนต์ เราจะมีสิ่งต่างๆ เช่น
- ยี่ห้อ : Ford
- รุ่น : Focus
- สี : ขาว
- กำลัง : 110hp
- ฯลฯ
ในโพสต์ของวันนี้ ผมจะแสดงให้คุณเห็นถึงวิธีสร้างฟิลด์แบบกำหนดเอง วิธีใช้งาน และวิธีที่ฟิลด์เหล่านี้จะช่วยคุณในฐานะผู้ใช้ WordPress และ/หรือนักพัฒนา โปรดทราบว่าคุณจะต้องมีความเข้าใจพื้นฐานเกี่ยวกับวิธีการเขียนโค้ดใน WordPress... แต่ฉันหวังว่าคุณจะสามารถติดตามโพสต์ได้อย่างง่ายดาย โดยเฉพาะอย่างยิ่งเมื่อฉันแสดงวิธีใช้ปลั๊กอินที่ยอดเยี่ยมสำหรับการทำงานกับฟิลด์ที่กำหนดเอง: ฟิลด์กำหนดเองขั้นสูง
วิธีการทำงานของฟิลด์ที่กำหนดเองของ WordPress
วิธีที่ดีที่สุดในการทำความเข้าใจว่าฟิลด์ที่กำหนดเองคืออะไรและทำงานอย่างไรโดยดูที่ฐานข้อมูล WordPress อย่างที่คุณรู้อยู่แล้ว ทุกครั้งที่คุณสร้างโพสต์ เพจ หรือ (เกือบ) เนื้อหาประเภทอื่นใดใน WordPress เนื้อหาใหม่นี้จะถูกจัดเก็บไว้ในตารางที่เรียกว่า wp_posts (คำนำหน้าสามารถเปลี่ยนแปลงได้)
ตารางในฐานข้อมูลก็เหมือนกับตารางอื่นๆ ที่คุณเคยใช้งานมาก่อน โดยทั่วไป พวกเขามีชุดของคอลัมน์ที่กำหนด "สิ่งที่คุณจัดเก็บได้" และแถวที่มีข้อมูลเฉพาะ ในกรณีของ wp_posts คอลัมน์จะเป็นเช่น title , content , author , วันที่ตีพิมพ์ และอื่นๆ ไม่มีอะไรแฟนซีพูดตามตรง:

wp_posts ในฐานข้อมูล WordPressหนึ่งใน "ปัญหา" ของการใช้ตารางก็คือข้อมูลที่คุณสามารถเก็บไว้ในตารางได้นั้นจำกัดอยู่ที่คอลัมน์ที่มี หากคุณต้องการเก็บข้อมูลเกี่ยวกับแนวคิดใหม่ คุณจะไม่สามารถ ดังนั้น คุณจะสร้างฟิลด์ที่กำหนดเองได้อย่างไร ถ้าตารางถูกตั้งค่าไว้แล้ว? ง่ายพอ คุณแค่ต้องการโต๊ะใหม่ที่ออกแบบมาสำหรับมัน
ในทุกฐานข้อมูลของ WordPress มีตารางอื่นที่เรียกว่า wp_postmeta ดังนี้:

wp_postmeta ในฐานข้อมูล WordPress ดังที่คุณเห็นในภาพหน้าจอก่อนหน้านี้ ตารางข้อมูลเมตาได้รับการออกแบบในลักษณะที่เราสามารถสร้างคู่คีย์/ค่าโดยใช้คอลัมน์ meta_key และ meta_value และเชื่อมโยงแต่ละคู่กับเนื้อหาเฉพาะโดยใช้คอลัมน์ post_id ง่ายพอ!
มาดูกันดีกว่าว่าเราจะทำงานกับตารางนี้ได้อย่างไร!
วิธีสร้างฟิลด์กำหนดเองใหม่
ดังที่เราได้เห็นแล้ว ฟิลด์ที่กำหนดเองมักเชื่อมโยงกับโพสต์เฉพาะ ดังนั้น คุณคงคาดหวังว่าอินเทอร์เฟซผู้ใช้บางประเภทในตัวแก้ไขจะแก้ไขได้ใช่ไหม น่าเสียดาย ถ้าคุณดูที่ Gutenberg ไม่มี...
ในการแก้ไขฟิลด์ที่กำหนดเองในตัวแก้ไข WordPress คุณต้องเปิดใช้งานแผงขั้นสูง เพียงคลิกไอคอนขวาบนในตัวแก้ไขแล้วคลิก ตัวเลือก :

ซึ่งจะเป็นการเปิดหน้าต่างใหม่พร้อมแผงต่างๆ ที่มีอยู่ใน Gutenberg ค้นหา ฟิลด์ที่กำหนดเอง ที่มีชื่อและเปิดใช้งาน:

เมื่อเปิดใช้งานแล้ว คุณสามารถสร้างและแก้ไขฟิลด์ที่กำหนดเองของโพสต์ได้อย่างง่ายดาย:

อินเทอร์เฟซที่เรียบง่ายนี้ช่วยให้เราสร้างคู่คีย์/ค่าได้มากเท่าที่เราต้องการ ตัวอย่างเช่น ในภาพหน้าจอด้านบน คุณจะเห็นวิธีที่ฉันได้เพิ่มฟิลด์บางฟิลด์ที่ฉันแนะนำในตอนต้นของโพสต์นี้: nelio_brand , nelio_model , nelio_color และ nelio_hp

วิธีใช้ฟิลด์ที่กำหนดเอง
ในการใช้ฟิลด์ที่กำหนดเอง คุณต้องมีสามสิ่ง: (a) ตัวระบุโพสต์ (b) ชื่อของฟิลด์ที่คุณต้องการใช้ และ (c) ตัดสินใจว่าคุณต้องการใช้ที่ใด ตัวอย่างเช่น สมมติว่าฉันต้องการแสดงฟิลด์ nelio_brand ที่เราสร้างขึ้นในตัวอย่างด้านบนที่ส่วนท้ายของโพสต์ ในการดึงค่ามีฟังก์ชั่นชื่อ get_post_meta ที่เราสามารถใช้ได้ดังนี้:
function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );สังเกตว่าในตัวอย่างที่แล้ว เราได้กล่าวถึงสามสิ่งที่ฉันกล่าวถึงก่อนหน้านี้:
- พารามิเตอร์แรกของ
get_post_metaคือตัวระบุของโพสต์ที่ฉันสนใจอย่างแม่นยำ ในกรณีนี้ เราใช้get_the_ID()ซึ่งส่งคืน ID ของโพสต์ปัจจุบัน - พารามิเตอร์ที่สองคือชื่อของฟิลด์เมตาของเรา (ในกรณีนี้คือ
nelio_brand) - สุดท้าย เราใช้ฟิลด์เมตาในส่วนหน้า ซึ่งเป็นสิ่งที่เราต้องการแสดงที่ส่วนท้ายสุดของเนื้อหาของโพสต์ และคุณสามารถบอกได้เพราะฉันกำลังดึงข้อมูลและใช้งานมันระหว่างตัวกรอง
the_content
ผลลัพธ์ของการทำเช่นนี้เป็นสิ่งที่คล้ายกับที่คุณเห็นในภาพหน้าจอต่อไปนี้:

แต่นี่เป็นเพียงตัวอย่างเท่านั้น แน่นอน! คุณสามารถใช้ฟิลด์ที่กำหนดเองได้หลายวิธีนอกเหนือจาก "การพิมพ์บางอย่างในส่วนหน้า" ตัวอย่างเช่น การทดสอบ Nelio A/B เป็นหนึ่งในปลั๊กอินที่เราสร้างขึ้นและออกแบบมาเพื่อเรียกใช้การทดสอบแยกในไซต์ WordPress การทดสอบ A/B จำเป็นต้องมีการสร้างเนื้อหาทางเลือก และปลั๊กอินของเราใช้ฟิลด์ที่กำหนดเองเพื่อติดป้ายกำกับเนื้อหาทางเลือกดังกล่าว และจำกัดวิธีการและเวลาที่ผู้เยี่ยมชมจะเข้าถึงเนื้อหานี้ได้
ฟังก์ชัน WordPress เพื่อจัดการฟิลด์ที่กำหนดเอง
ในลักษณะเดียวกับที่เรามีวิธีการดึงค่าของฟิลด์ที่กำหนดเอง ( get_post_meta ) WordPress มีวิธีเพิ่มเติมในการสร้าง อัปเดต และลบฟิลด์ที่กำหนดเองโดยทางโปรแกรม: add_post_meta , update_post_meta และ delete_post_meta ฟังก์ชันเหล่านี้ทำงานได้ตามที่คุณคาดหวัง ดังนั้นฉันจะไม่รบกวนคุณด้วยคำอธิบายเพิ่มเติม...
ฟิลด์กำหนดเองขั้นสูงคืออะไรและอย่างไร
ตอนนี้คุณรู้แล้วว่าฟิลด์แบบกำหนดเองทำงานอย่างไรใน WordPress ฉันคิดว่าฉันสามารถให้ข่าวดีกับคุณได้แล้ว: มีปลั๊กอินหลายตัวที่ช่วยลดความยุ่งยากในกระบวนการทำงานกับฟิลด์ที่กำหนดเองได้อย่างมาก!
หนึ่งในปลั๊กอินที่เป็นที่รู้จักและได้รับคะแนนดีที่สุดในการสร้างข้อมูลเมตาในไซต์ WordPress คือ Advanced Custom Fields ด้วยสิ่งนี้ คุณจะไม่เพียงแต่สามารถกำหนดฟิลด์ที่กำหนดเองในวิธีที่ง่ายกว่าเท่านั้น แต่คุณยังจะมีโอกาสเพลิดเพลินไปกับอินเทอร์เฟซผู้ใช้ที่ได้รับการปรับปรุงเพื่อจัดการกับฟิลด์เหล่านี้ อินเทอร์เฟซนี้ช่วยให้แน่ใจว่าค่าที่คุณตั้งไว้มีความสมเหตุสมผลและมีความหมาย: วันที่ รูปภาพ แกลเลอรี่ ช่วง ตัวเลข... คุณตั้งชื่อมัน!

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ ACF มีแหล่งข้อมูลมากมาย แต่ฉันคิดว่าการบรรยายโดย Jo Minney สามารถช่วยให้คุณเริ่มต้นได้จริงๆ:
หวังว่าการแนะนำเล็กน้อยเกี่ยวกับฟิลด์ที่กำหนดเองนี้จะช่วยคุณในการเป็นนักพัฒนา WordPress ที่ดีขึ้น!
ภาพเด่นโดย Polina Rytova บน Unsplash
