วิธีเพิ่ม Meta Box ใน WordPress
เผยแพร่แล้ว: 2022-09-30การเพิ่มเมตาบ็อกซ์ใน WordPress เป็นเรื่องง่าย คุณสามารถใช้ปลั๊กอินหรือเพิ่มโค้ดด้วยตัวเอง หากคุณต้องการเพิ่มเมตาบ็อกซ์ให้กับประเภทโพสต์ที่มีอยู่ คุณสามารถใช้ปลั๊กอิน เช่น ฟิลด์กำหนดเองขั้นสูง สิ่งนี้จะให้อินเทอร์เฟซแบบภาพแก่คุณสำหรับการเพิ่มเมตาบ็อกซ์และฟิลด์ที่กำหนดเองของคุณ หากคุณต้องการเพิ่มเมตาบ็อกซ์ให้กับประเภทโพสต์ที่กำหนดเอง คุณสามารถใช้โค้ดด้านล่างได้ รหัสนี้จะอยู่ในไฟล์ functions.php ของคุณ ฟังก์ชั่น my_meta_box () { add_meta_box ( 'my_meta_box', 'My Meta Box', 'my_meta_box_callback', 'โพสต์' ); } add_action( 'add_meta_boxes', 'my_meta_box' ); function my_meta_box_callback( $post ) { // เพิ่มฟิลด์ nonce เพื่อให้เราสามารถตรวจสอบได้ในภายหลัง wp_nonce_field( 'my_meta_box', 'my_meta_box_nonce' ); /* * ใช้ get_post_meta() เพื่อดึงค่าที่มีอยู่ * จากฐานข้อมูลและใช้ค่าสำหรับแบบฟอร์ม */ $value = get_post_meta( $post->ID, '_my_meta_value_key', จริง); เสียงสะท้อน”; _e( 'คำอธิบายสำหรับฟิลด์นี้', 'myplugin_textdomain' ); ก้อง ' '; เสียงสะท้อน”; } ฟังก์ชั่น my_meta_box_save ( $post_id ) { // ตรวจสอบว่า nonce ของเราถูกตั้งค่าไว้หรือไม่ if ( ! isset( $_POST['my_meta_box_nonce'] ) ) { return; } // ตรวจสอบว่า nonce ถูกต้อง wp_verify_nonce( $_POST['my_meta_box_nonce'], 'my_meta_box' )) {
ในหน้าจอแก้ไขโพสต์ จะมีกล่อง Draggable Box ที่มีป้ายกำกับเมตาบ็อกซ์ นอกเหนือจากเนื้อหาโพสต์หลัก ผู้ใช้สามารถป้อนข้อมูลในโมดูลนี้ ข้อมูลเมตาของ WordPress ถูกเก็บไว้ในตาราง wp_postmeta คุณลักษณะนี้ช่วยให้คุณสามารถเพิ่มข้อมูลได้หลายวิธี ในบทช่วยสอนนี้ เราจะมาดูวิธีสร้างเมตาบ็อกซ์ที่บันทึกคลาส CSS ของโพสต์ที่กำหนดเอง ซึ่งสามารถนำไปใช้ในการจัดสไตล์โพสต์ได้ Meta box สามารถทำได้หลายอย่าง แต่ควรทำความเข้าใจก่อน รหัสนี้สามารถพบได้ในไฟล์ปลั๊กอินที่กำหนดเองหรือไฟล์ function.php ของธีมของคุณ
จำเป็นต้องแก้ไขฟังก์ชัน smashing_post_meta_boxes_setup() เล็กน้อย ด้วยคำสั่งนี้ WordPress ระบุว่าจะใช้ hook_post เพื่อสร้างฟังก์ชันที่กำหนดเอง คุณสามารถบันทึก อัปเดต หรือลบเมตาของโพสต์ที่กำหนดเองได้โดยใช้ฟังก์ชันนี้ ฉันไม่สามารถแสดงความคิดเห็นว่าจะทำอย่างไรกับข้อมูลเมตาของคุณ เนื่องจากข้อมูลดังกล่าวจะเปลี่ยนจากโครงการหนึ่งไปอีกโครงการหนึ่ง ในกรณีนี้ คุณจะได้เรียนรู้วิธีใช้ข้อมูลเมตาที่สร้างไว้ในกล่องเมตา ชั้นเรียนสามารถใช้ได้กับโพสต์ตราบเท่าที่มีการจัดสไตล์ในสไตล์ชีตของธีม แหล่งข้อมูลนี้ พร้อมด้วยคู่มือ WordPress Codex สำหรับการตรวจสอบข้อมูล สามารถพบได้ที่นี่ แม้ว่าการรักษาความปลอดภัยเป็นหัวข้อที่ซับซ้อน แต่ก็ไม่สามารถครอบคลุมได้ในบทความนี้ อย่างไรก็ตาม ในกรณีนี้ ผมเลือกที่จะเน้นย้ำถึงความสำคัญของความปลอดภัย
เมตาบ็อกซ์สามารถปิดใช้งานได้โดยเลือกตัวเลือกการเขียน – โพสต์ จากเครื่องมือแก้ไขโพสต์ เลือกตัวเลือกการเขียนเพื่อลบกล่องเมตาในโพสต์ประเภทอื่น ประเภทโพสต์คือ [ประเภทโพสต์] อย่างที่คุณเห็น ปลั๊กอินอนุญาตให้คุณลบเมตาบ็อกซ์ที่คุณสร้างขึ้นเท่านั้น ไม่ใช่ลบออกทั้งหมดโดยใช้โค้ด
ฉันจะแสดงกล่อง Meta ที่กำหนดเองใน WordPress ได้อย่างไร

หากต้องการแสดงเมตาบ็อกซ์ ที่กำหนดเอง ใน WordPress ก่อนอื่นคุณต้องสร้างเมตาบ็อกซ์ที่กำหนดเองโดยใช้ฟังก์ชัน add_meta_box() เมื่อคุณสร้างกล่องเมตาแบบกำหนดเองแล้ว คุณสามารถใช้ฟังก์ชัน show_meta_boxes() เพื่อแสดงบนไซต์ WordPress ของคุณได้
Meta Box ใน WordPress อยู่ที่ไหน
กล่องเมตาเป็นส่วนหนึ่งของหน้าจอแก้ไขใน WordPress ช่วยให้คุณเพิ่มฟิลด์ที่กำหนดเองในโพสต์และเพจของคุณ กล่อง Meta มีประโยชน์สำหรับการเพิ่มข้อมูลเพิ่มเติมในเนื้อหาของคุณ ตัวอย่างเช่น คุณสามารถเพิ่มฟิลด์ที่กำหนดเองในโพสต์ของคุณที่แสดงชื่อผู้เขียนได้
กล่องที่ลากได้ที่เรียกว่า กล่องเมตา WP สามารถดูได้ในหน้าจอแก้ไขของ WP ของคุณ ใช้เพื่อเพิ่มข้อมูลเช่นข้อกำหนดอนุกรมวิธานในระบบ ข้อมูลเมตาสำหรับโพสต์คือสิ่งที่จะเพิ่มลงในโพสต์เมื่อเพิ่มลงในฐานข้อมูล ไม่มีการจำกัดจำนวนของรายการเมตาในตารางนี้ คำแนะนำทีละขั้นตอนนี้จะแนะนำคุณเกี่ยวกับการสร้างกล่องเมตาแบบกำหนดเองสำหรับเว็บไซต์ของคุณ โดยการทำเครื่องหมายที่ช่องถัดจากกล่อง Meta คุณสามารถระบุได้ว่าโพสต์นั้นเป็นวีแก้นหรือไม่ ด้วยการใช้ฟังก์ชัน add_meta_box ของ WordPress เราจะสามารถเพิ่มกล่องในประเภทโพสต์แบบกำหนดเองที่เรียกว่าสูตรได้
ในขั้นตอนที่ 2 คุณต้องอัปเดตค่า Meta Box ไปยังฐานข้อมูล ก่อนที่เราจะสามารถแก้ไขโพสต์สูตรอาหาร เราต้องพิจารณาก่อนว่าผู้ใช้มีสิทธิ์หรือไม่ และเราต้องพิจารณาด้วยว่าประเภทโพสต์นั้นกำลังถูกแก้ไขหรือไม่ การตอบสนอง 'ใช่' จะถูกเลือกหากช่องทำเครื่องหมายถูกเลือก และการตอบสนองที่เป็น null จะถูกตรวจสอบหากช่องทำเครื่องหมายถูกเลือก แต่ค่าฐานข้อมูลไม่ได้ อย่างไรก็ตาม ฟังก์ชันสามารถยอมรับอาร์กิวเมนต์เพิ่มเติมในกรณีนี้: $prev_value หากเราต้องการตรวจสอบค่าก่อนอัปเดต ต้องดึงค่า meta ของ is_vegan ก่อน และหากจำเป็น ค่าที่ตรวจสอบจะถูกส่งไปยังตัวแปร $checked ซึ่งจะถูกทำซ้ำในเอาต์พุต HTML หากเหมาะสม ณ วันนี้ เรามีเมตาบ็อกซ์ที่ใช้งานได้เพื่อช่วยในการพิจารณาว่าสูตรอาหารที่เราสั่งเป็นมังสวิรัติหรือไม่

. ฟังก์ชัน Add_meta_box()
พารามิเตอร์สามตัวที่ใช้ในฟังก์ชัน add_meta_box() คือ *br, *gt และ *gt หากคุณสร้างเมตาบ็อกซ์ คุณต้องสร้างชื่อก่อน เมตาบ็อกซ์จะปรากฏขึ้นหากมีชื่อหน้าจอรวมอยู่ด้วย ใช้ฟังก์ชัน custom_meta_box_markup() ฟังก์ชัน custom_meta_box_markup() เป็นฟังก์ชันเดียวที่เข้ามาเล่น พารามิเตอร์ของเมธอดนี้รวมถึง: *br คุณต้องป้อน ID หลังการแก้ไขของคุณ หลัก (หลัก) และแถบด้านข้าง (ด้านล่าง) ของเว็บไซต์ ตำแหน่งพับสูงจะอยู่เหนือรอยพับ มาร์กอัปสำหรับเมตาบ็อกซ์ใช้เพื่อกำหนดโครงสร้างของเมตาบ็อกซ์ มาร์กอัปกล่องเมตาเป็นสตริงที่ต้องระบุก่อนจึงจะสามารถสร้างกล่องเมตาได้ ควรขึ้นต้นด้วยตัวอักษร *br มีวิธีใดบ้างในการทำสิ่งที่ยากแต่คุ้มค่า ชื่อของโพสต์ควรเป็นคำอธิบาย รวมลิงค์ไปยังโพสต์ ภาพขนาดย่อปรากฏบนโพสต์ ข้อความตามเนื้อความของโพสต์ โพสต์เต็มไปด้วยข้อมูล มีหลายประเภทสำหรับการโพสต์ มีเหตุผลหลายประการนี้. คุณเป็นผู้เขียนโพสต์ วันที่โพสต์ มีความคิดเห็นอยู่ในโพสต์ มีการระบุ ชื่อกล่องเมตา ชื่อกล่องเมตาหรือที่เรียกว่าข้อความในแถบชื่อเรื่องคือข้อความในกล่องเมตา จะต้องสั้นและอธิบายในลักษณะ ชื่อเมตาควรมีรูปแบบเดียวกับชื่อโพสต์ ชื่อกล่องเมตาควรเหมือนกับชื่อโพสต์
ฉันจะเพิ่ม Meta Box ให้กับประเภทโพสต์ที่กำหนดเองใน WordPress ได้อย่างไร
สร้างอาร์เรย์ของประเภทโพสต์ ทำซ้ำและใช้ add_meta_box() เพื่อเพิ่มกล่องเมตาลงในประเภทโพสต์เหล่านั้น คุณยังสามารถเพิ่มประเภทโพสต์ลงในเพจหรือหนังสือได้
ในโพสต์ WordPress ที่กำหนดเองส่วนใหญ่ ข้อมูลจะต้องป้อนใน metabox ที่ไม่ซ้ำกัน ในการถ่ายภาพ ประเภทของโพสต์อาจต้องการฟิลด์ เช่น ตำแหน่งของภาพถ่าย ประเภทของกล้อง ฯลฯ เกือบจะแน่นอนว่าประเภทโพสต์จะต้องมีสถานที่และวันที่จัดกิจกรรม Metaboxes เป็นระบบที่ตั้งค่าได้ยาก บทแนะนำนี้จะอธิบายวิธีการดำเนินการดังกล่าวให้คุณทราบ ตอนนี้เมตาบ็อกซ์ควรมองเห็นได้ในประเภทโพสต์เหตุการณ์ เมื่อคุณคลิกอัปเดต คุณจะเห็นรหัสที่อัปเดตเมตาบ็อกซ์ ไฟล์=โพสต์-ประเภท-metaboxes.php[/pathid]#rel=df39e6e3dd5ee178fee30f7e7df548d6′′; lines=106-151-164] รหัสนี้ตรวจสอบว่าผู้ใช้มีสิทธิ์อัปเดตโพสต์หรือไม่ จากนั้นบันทึกข้อมูล event_location หลังจากอัปเดตโพสต์ เป็นความคิดที่ดีที่จะใช้ไลบรารีเช่น CMB2 หรือฟิลด์กำหนดเองขั้นสูง หากคุณต้องการฟิลด์เมตาแบบกำหนดเองจำนวนมาก (เช่น ตัวเลือกวันที่)
การเพิ่มฟิลด์ที่กำหนดเองด้วย Meta Box
หากคุณต้องการเพิ่มฟิลด์ที่กำหนดเองลงในปลั๊กอิน WordPress ของคุณ Meta Box เป็นจุดเริ่มต้นที่ดี สามารถติดตั้งปลั๊กอิน Meta Box ได้โดยใช้แดชบอร์ดของ WordPress เมื่อคุณติดตั้ง Meta Box คุณจะต้องเข้าถึงแดชบอร์ดของ WordPress และคลิกแท็บปลั๊กอิน มีปลั๊กอินหลายตัวแสดงอยู่ในหน้า หลังจากที่คุณคลิก เพิ่มใหม่ ให้คลิกปุ่มค้นหา Meta Box จะแสดงเป็นรายการฟิลด์ที่กำหนดเองที่คุณสามารถเพิ่มลงในปลั๊กอินได้ ต้องระบุชื่อสำหรับฟิลด์ที่กำหนดเองของคุณ ตามด้วยค่าของฟิลด์ที่คุณกำหนดเอง ฟิลด์จะถูกบันทึกทันทีที่คุณคลิกที่ฟิลด์ด้วย ตัวเลือก เพิ่มฟิลด์ที่กำหนดเอง
WordPress Add_meta_box
WordPress add_meta_box เป็นโค้ดที่ช่วยให้คุณสามารถเพิ่ม กล่องที่กำหนดเอง ลงในหน้าจอแก้ไขโพสต์ได้ กล่องแบบกำหนดเองนี้สามารถประกอบด้วยช่องฟอร์ม ข้อความ และเนื้อหาอื่นๆ ฟังก์ชัน add_meta_box ใช้พารามิเตอร์ 6 ตัว ได้แก่ id, title, callback, post type, Context และ Priority
คุณสามารถเพิ่มเมตาบ็อกซ์ที่กำหนดเองในโพสต์ เพจ หรือประเภทโพสต์ที่กำหนดเองได้ด้วยอินเทอร์เฟซผู้ดูแลระบบของ WordPress เมื่อ Custom Meta Box มีฟิลด์ที่มีค่าของฟิลด์ฟอร์ม จะเรียกว่าฟิลด์ข้อมูลเมตา ลักษณะของแถบผู้ดูแลระบบยังสามารถเปลี่ยนแปลงได้โดยผู้ที่เข้าสู่ระบบไซต์ ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างและใช้เมตาบ็อกซ์ที่กำหนดเอง คุณสามารถใช้เพื่อลบเมตาบ็อกซ์ที่กำหนดเองรวมถึงลบเมตาบ็อกซ์ที่กำหนดเองโดยใช้ตะขอ remove_meta_box เพื่อแสดงการใช้เมตาบ็อกซ์ที่กำหนดเอง ฉันจะเพิ่มฟิลด์แบบฟอร์มช่องกาเครื่องหมาย รวมถึงการป้อนข้อความ
กล่อง Meta คืออะไร?
กล่องเมตาเป็นวัตถุที่แสดงข้อมูลเกี่ยวกับโพสต์ ฟังก์ชันนี้สร้างขึ้นโดยใช้เมธอด add_meta_box() การเพิ่มกล่องเมตาลงในหน้าจอแก้ไขโพสต์เป็นตัวอย่างของสิ่งนี้ เพิ่มเมตาบ็อกซ์ในหลายหน้าจอด้วย เมธอด add_meta_box () ที่เป็นตัวเลือก ในตัวอย่างต่อไปนี้ กล่องเมตาจะปรากฏบนหน้าจอแก้ไขหลังแก้ไขและหน้าจอแก้ไข WPorg_cpt ฟังก์ชันนี้ใช้เพื่อเพิ่มกล่องเมตาลงในหน้าจอแก้ไขโพสต์