วิธีสร้าง WordPress Custom Field โดยทางโปรแกรม
เผยแพร่แล้ว: 2022-01-20คุณต้องการ สร้างฟิลด์ที่กำหนดเองของ WordPress โดยทางโปรแกรม หรือไม่? ถ้าใช่ เรามีคำแนะนำที่สมบูรณ์แบบสำหรับคุณพร้อมตัวเลือกเพิ่มเติมอีกสองสามตัวเลือก
มีหลายสาเหตุที่ทำให้ WordPress เป็น CMS ที่ได้รับความนิยมสูงสุดทั่วโลก แต่สิ่งหนึ่งที่เกี่ยวข้องมากที่สุดคือการปรับแต่งได้สูง คุณสามารถปรับแต่งองค์ประกอบต่างๆ ของเว็บไซต์ WordPress ได้ โดยให้ฟิลด์ที่กำหนดเองเป็นหนึ่งในนั้น WordPress มีคุณสมบัติที่ปรับแต่งได้อีกมากมายสำหรับพวกเขา ซึ่งคุณสามารถเพิ่มฟิลด์ที่กำหนดเองโดยทางโปรแกรมบนเว็บไซต์ของคุณ
ฟิลด์ที่กำหนดเองคืออะไร
มีการแนบฟิลด์แบบกำหนดเองเข้ากับโพสต์หรือเพจ และจัด เก็บข้อมูลเพิ่มเติม เพื่อใช้สำหรับเว็บไซต์ นอกจากนี้ยังสามารถเกี่ยวข้องกับโพสต์ประเภทใดก็ได้ จึงสามารถรวบรวมข้อมูลที่เกี่ยวข้องกับสินค้า ความคิดเห็น หรือแม้แต่ประเภทโพสต์ที่กำหนดเองได้เช่นกัน
พวกเขาจะถูกเก็บไว้ในฐานข้อมูลของเว็บไซต์ WordPress ของคุณภายใต้ตาราง wp_postmeta ประกอบด้วยพารามิเตอร์ meta_id, post_id, meta_key และ meta_value
นอกจากนี้ คุณยังสามารถจัดเก็บข้อมูลประเภทใดก็ได้ในฟิลด์ที่กำหนดเอง สามารถใช้โดยผู้ใช้ส่วนหน้าและส่วนหลังหรือโดยสคริปต์ PHP อื่น ๆ ด้วย
ทำไมต้องสร้างฟิลด์ที่กำหนดเองใน WordPress?
ฟิลด์ที่กำหนดเองสามารถใช้เพื่อให้บรรลุความต้องการที่หลากหลาย เมื่อใดก็ตามที่คุณต้องการเพิ่ม ข้อมูลเพิ่มเติม ที่เกี่ยวข้องกับโพสต์ ฟิลด์ที่กำหนดเองจะมีประโยชน์มาก
อย่างไรก็ตาม นักพัฒนาส่วนใหญ่ใช้ฟิลด์ที่กำหนดเองเพื่อเพิ่มคุณสมบัติใหม่ให้กับเว็บไซต์ของตน แอปพลิเคชันที่มีประโยชน์มากที่สุดตัวหนึ่งคือการใช้งานในส่วนหน้าเพื่อให้ผู้ใช้สามารถ กรอกแบบฟอร์ม ได้
แต่ต่อไปนี้คือตัวอย่างเพิ่มเติมบางส่วนที่สามารถใช้ฟิลด์ที่กำหนดเองได้:
- แนบ "อารมณ์" กับโพสต์ที่คุณต้องการเปิดเผยว่าคุณรู้สึกอย่างไรเมื่อเขียนมัน
- แจ้งให้ผู้ใช้ทราบว่ามีการแนะนำโพสต์สำหรับช่วงอายุบางช่วงหรือไม่
- เก็บเวลาที่จำเป็นในการอ่านโพสต์
- ให้คะแนนผลิตภัณฑ์หรือโพสต์
- ข้อมูลอ้างอิงที่จะเรียกใช้สคริปต์บางตัวเมื่อมี
นอกเหนือจากนี้ ธีมและปลั๊กอิน มักใช้ฟิลด์ที่กำหนดเองเพื่อกำหนดคุณลักษณะพิเศษให้กับโพสต์หรือเพจเฉพาะ ในทำนองเดียวกัน เป็นเรื่องปกติที่จะใช้ฟิลด์ที่กำหนดเองบน อินเทอร์เฟซผู้ใช้ ทั้งที่ส่วนหน้าและส่วนหลัง
เมื่อคุณคุ้นเคยกับความสำคัญของฟิลด์ที่กำหนดเองใน WordPress แล้ว มาดูกันว่าเราจะเพิ่มฟิลด์เหล่านี้ได้อย่างไร
จะเพิ่มฟิลด์ที่กำหนดเองใน WordPress ได้อย่างไร?
โดยค่าเริ่มต้น คุณสามารถเพิ่มฟิลด์ที่กำหนดเองให้กับโพสต์ใดก็ได้ในขณะที่แก้ไขในตัวแก้ไข สิ่งที่คุณต้องทำคือเปิดใช้งานบนแท็บ ตัวเลือกหน้า และเลื่อนลงเพื่อค้นหากล่องเมตาฟิลด์แบบกำหนดเอง
เพียงคลิกที่ "เพิ่มฟิลด์ที่กำหนดเอง" แล้วใส่ชื่อและค่าเพื่อสร้างฟิลด์ที่กำหนดเองด้วยตนเอง
แต่ถ้าคุณอยู่ที่นี่ คุณกำลังมองหาวิธีสร้างฟิลด์ที่กำหนดเองของ WordPress โดยทาง โปรแกรม อย่างแน่นอน ดังนั้นไปข้างหน้าและดำดิ่งลงไป
วิธีสร้างฟิลด์ที่กำหนดเองของ WordPress โดยทางโปรแกรม
คุณสามารถสร้างฟิลด์ที่กำหนดเองใน WordPress โดยทางโปรแกรมได้อย่างง่ายดาย หากคุณมีความรู้ด้านเทคนิคพื้นฐานในการเขียนโปรแกรม
แต่ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลเว็บไซต์ของคุณและสร้างธีมลูกโดยทางโปรแกรม หรือใช้ปลั๊กอินของธีมลูกตัวใดตัวหนึ่ง เราจะทำการแก้ไขไฟล์ที่ละเอียดอ่อนของเว็บไซต์ของคุณ และการเปลี่ยนแปลงเหล่านี้อาจถูกลบเมื่อคุณอัปเดตธีม WordPress ของคุณ อย่างไรก็ตาม หากคุณใช้ธีมลูก การปรับแต่งในไฟล์เหล่านี้จะไม่ได้รับผลกระทบ แม้ว่าคุณจะอัปเดตธีม WordPress ของคุณแล้ว
หากคุณไม่สะดวกใจกับการเปลี่ยนไฟล์ธีมโดยตรง คุณสามารถใช้ปลั๊กอินอย่าง Code Snippets ได้เช่นกัน อย่างไรก็ตาม เราจะใช้ธีมลูกในบทช่วยสอนนี้เพราะว่ามันง่ายกว่าสำหรับเรา
1. เข้าถึง functions.php ไฟล์ธีม
หลังจากที่คุณสร้างธีมย่อยแล้ว คุณสามารถเริ่มเพิ่มข้อมูลโค้ดในไฟล์ธีม function.php เพื่อสร้างฟิลด์ที่กำหนดเองได้ เพียงไปที่ ลักษณะที่ ปรากฏ > ตัวแก้ไขธีม และเปิดไฟล์ functions.php จากแดชบอร์ด WordPress ของคุณ จากนั้น เพิ่มข้อมูลโค้ดที่ด้านล่างของตัวแก้ไขนี้และ อัปเดต ไฟล์
เราได้ใช้ธีม Divi สำหรับบทช่วยสอนนี้ แต่ตัวแก้ไขธีมอาจปรากฏบนเว็บไซต์ของคุณแตกต่างออกไป ขึ้นอยู่กับธีมที่คุณใช้
2. เพิ่มข้อมูลโค้ดใน Theme Editor
add_post_meta()
คือฟังก์ชันที่เราจะใช้ ต้องใช้พารามิเตอร์สามตัว: รหัสของโพสต์หรือหน้า ชื่อของฟิลด์ที่กำหนดเองและค่าของมัน สามารถใช้พารามิเตอร์ทางเลือกที่สี่เพื่อตรวจสอบว่าฟิลด์ที่กำหนดเองมีอยู่แล้วหรือไม่
ดังนั้น การเพิ่มฟิลด์ที่กำหนดเองนั้นง่ายพอๆ กับการเพิ่มบรรทัดต่อไปนี้ในไฟล์ function.php
ของธีมลูก
add_post_meta(460, "custom_field_name", "value", จริง);
สิ่งนี้จะเพิ่มฟิลด์ที่กำหนดเองให้กับโพสต์ด้วย id 460
เราได้ตั้งชื่อฟิลด์กำหนดเองว่า “custom_field_name” สำหรับการสาธิตนี้ แต่คุณยังสามารถกำหนดสตริงเป็นค่า (ค่า) และตั้งค่าพารามิเตอร์ทางเลือกเป็น true เพื่อสร้างสตริงได้ก็ต่อเมื่อยังไม่มีอยู่แล้ว
แน่นอนว่านี่เป็นสถานะที่ง่ายที่สุดของสคริปต์ในการเพิ่มฟิลด์ที่กำหนดเองในโพสต์เฉพาะ มันไม่มีประสิทธิภาพเลย เพราะมันจะทำงาน ทุกครั้งที่โหลดเพจ พร้อมๆ กันเพื่อตรวจสอบว่าฟิลด์ที่กำหนดเองนั้นไร้ประโยชน์หรือไม่
โชคดีที่เราสามารถปรับปรุงได้มากขึ้น เพื่อให้ได้โซลูชันที่ยอมรับได้ publish_post()
จะมีประโยชน์มากในกรณีนี้ เนื่องจากจะ ทริกเกอร์เมื่อมีการเผยแพร่โพสต์ เท่านั้น
add_action('publish_post', 'add_custom_field_automatically'); ฟังก์ชั่น add_custom_field_automatically ($post_ID) { if(!wp_is_post_revision($post_ID)) { add_post_meta($post_ID, 'meta_field', '55',true); } }
เนื่องจากเราใช้ตัวแปร $post_ID
ทั่วโลก สิ่งนี้จะมีผลกับ โพสต์ที่เผยแพร่ใหม่ ทั้งหมด
อัปเดตฟิลด์ที่กำหนดเองใน WordPress
เมื่อคุณสร้างฟิลด์ที่กำหนดเองใน WordPress โดยทางโปรแกรม คุณยังสามารถอัปเดตฟิลด์เหล่านี้ได้หากต้องการด้วยข้อมูลโค้ดที่คล้ายกัน
ในการอัปเดตฟิลด์ที่กำหนดเอง สามารถใช้ฟังก์ชัน update_post_meta()
ได้ เราจะใช้ hook เดียวกันกับสคริปต์ก่อนหน้า เนื่องจากมันทำงานเมื่อคุณอัปเดตโพสต์ด้วย เพียงเพิ่มข้อมูลโค้ดต่อไปนี้ลงในไฟล์ functions.php ของเว็บไซต์ของคุณ
add_action('publish_post', 'update_custom_field_automatically'); ฟังก์ชั่น update_custom_field_automatically($post_ID) { if(!wp_is_post_revision($post_ID)) { update_post_meta($post_ID, 'meta_field', 20); } }
สิ่งนี้จะ เปลี่ยนค่า ของฟิลด์กำหนดเองที่สร้างไว้ก่อนหน้านี้จาก 55 เป็น 20
update_post_meta()
ยังทำงานเป็น add_post_meta()
สามารถสร้างฟิลด์ที่กำหนดเองใหม่ได้หากไม่มีอยู่ด้วย
ลบฟิลด์ที่กำหนดเองใน WordPress
การใช้ข้อมูลโค้ดไม่ได้จำกัดเพียงแค่การสร้างและอัปเดตฟิลด์ที่กำหนดเองใน WordPress หลังจากที่คุณสร้างฟิลด์ที่กำหนดเองของ WordPress โดยทางโปรแกรม อาจมีบางสถานการณ์ที่คุณอาจต้องการลบออกเช่นกัน
ฟังก์ชันที่ช่วยให้เราสามารถลบฟิลด์ที่กำหนดเองทั้งหมดที่มีชื่อที่กำหนด (คีย์) คือ delete_post_meta_by_key(”meta_field”);
ใช้เฉพาะชื่อฟิลด์ที่กำหนดเองเป็นพารามิเตอร์เฉพาะ
ดังที่เราได้กล่าวไปแล้ว วิธีที่ถูกต้องคือการใช้เบ็ด คราวนี้ เราจะใช้ init()
hook ซึ่งส่วนใหญ่ใช้เพื่อเริ่มต้นปลั๊กอินและธีม เพิ่มตัวอย่างต่อไปนี้อีกครั้งในไฟล์ functions.php
add_action('init', 'remove_custom_field_automatically'); ฟังก์ชั่น remove_custom_field_automatically () { delete_post_meta_by_key( 'meta_field' ); }
หากต้องการลบฟิลด์ที่กำหนดเองในโพสต์เฉพาะ คุณสามารถใช้ฟังก์ชัน delete_post_meta()
นอกจากนี้ยังสามารถใช้ได้หากมีการกำหนดค่าเฉพาะให้กับฟิลด์ที่กำหนดเอง
สิ่งนี้ทำงานในลักษณะที่คล้ายคลึงกันเมื่อเทียบกับตัวอย่างก่อนหน้า แต่ให้ความยืดหยุ่นมากขึ้นในการ กำหนดเป้าหมายการลบฟิลด์ที่กำหนดเองโดยเฉพาะ
add_action('publish_post', 'delete_custom_field_automatically'); ฟังก์ชั่น delete_custom_field_automatically ($post_ID) { if(!wp_is_post_revision($post_ID)) { delete_post_meta($post_ID, 'meta_field'); } }
สคริปต์นี้จะลบฟิลด์ที่กำหนดเองชื่อ "custom_field" ของโพสต์ปัจจุบัน ซึ่งกำหนดโดยตัวแปร $post_ID
คุณยังสามารถลบฟิลด์ที่กำหนดเองได้ก็ต่อเมื่อมีการแนบค่าเฉพาะไว้ เพียงเพิ่มเป็นพารามิเตอร์ที่สาม
delete_post_meta($post_ID, 'meta_field','20');
แค่นั้นแหละ! คุณสามารถสร้าง อัปเดต หรือลบฟิลด์ที่กำหนดเองใน WordPress โดยทางโปรแกรมได้แล้วตอนนี้ เพียงแก้ไขข้อมูลโค้ดเหล่านี้ตามเว็บไซต์ของคุณ และคุณอาจแก้ไขเพิ่มเติมได้อีก
บทสรุป
นี่คือบทช่วยสอนของเราในการ สร้างฟิลด์ที่กำหนดเองใน WordPress โดยทางโปรแกรม สิ่งเหล่านี้มีประโยชน์มากหากคุณต้องการให้ข้อมูลเพิ่มเติมเกี่ยวกับเว็บไซต์ของคุณแก่ผู้ใช้
โดยสรุป เราได้แสดงข้อมูลโค้ดสำหรับสร้างฟิลด์ที่กำหนดเองใน WordPress ในทำนองเดียวกัน เราได้จัดเตรียมตัวอย่างเพิ่มเติมให้คุณเพื่ออัปเดตและลบฟิลด์ที่กำหนดเอง อาจมีประโยชน์ในบางกรณีขึ้นอยู่กับความต้องการของเว็บไซต์ของคุณ
ฟิลด์ที่กำหนดเองเป็นหนึ่งในคุณสมบัติที่ดีที่สุดของ WordPress และใช้กันอย่างแพร่หลายใน WooCommerce เช่นกัน เรายังมีคำแนะนำในการเพิ่มฟิลด์ที่กำหนดเองในการชำระเงิน WooCommerce และจัดลำดับฟิลด์การชำระเงิน WooCommerce ใหม่ หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการปรับแต่งอื่นๆ ใน WordPress และ WooCommerce โปรดอ่านบทความต่อไปนี้:
- วิธีสร้าง WordPress Custom Post Type
- ปรับแต่งหน้าเข้าสู่ระบบ WordPress
- วิธีปรับแต่งผลิตภัณฑ์ที่เกี่ยวข้องกับ WooCommerce
คุณสามารถสร้างฟิลด์ที่กำหนดเองใน WordPress โดยทางโปรแกรมได้หรือไม่? คุณเคยสร้างมันมาก่อนหรือไม่? แจ้งให้เราทราบในความคิดเห็น