การสร้างปลั๊กอินที่มีการอ้างอิง


21

ฉันพยายามที่จะขยายการทำงานของปลั๊กอินอื่น ฉันต้องการรับข้อมูลจากมันลงในอาร์เรย์เพื่อใช้ในลักษณะที่แตกต่างจากปลั๊กอินดั้งเดิม (ในกรณีนี้ปลั๊กอิน WPMUDev หมวดหมู่และรายชื่อ) มีบางอย่างใน Codex หรือไม่ ฉันจะสร้างปลั๊กอินที่สามารถใช้ฟังก์ชันปลั๊กอินอื่นได้อย่างไร ฉันสามารถขยายและสร้างฟังก์ชันโหนดแม่ได้หรือไม่ ฉันไม่แน่ใจว่าปลั๊กอินเหล่านี้ใช้คลาสหรือเพียงแค่ฟังก์ชั่นแบบตรง

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


4
FWIW มีตั๋วติดตามเกี่ยวกับหัวข้อนี้มาก ๆcore.trac.wordpress.org/ticket/22316
Norcross

คำตอบ:


22

ใช่เป็นไปได้ที่จะสร้างปลั๊กอินที่ขยายปลั๊กอินอื่น นี่คือแนวคิดบางประการเกี่ยวกับวิธีที่คุณจะทำ:

  1. ปลั๊กอินสามารถตั้งค่าการกระทำของตัวเองและตัวกรอง hooks (ใช้do_actionและapply_filterฟังก์ชั่น) เช่นเดียวกับ WordPress core ทำ หากปลั๊กอินที่คุณกำหนดเป้าหมายเป็นเช่นนี้คุณสามารถใช้ hooks เหล่านี้เพื่อเปลี่ยนการทำงาน

  2. หากปลั๊กอินใช้โครงสร้างเชิงวัตถุคุณสามารถขยายคลาสและสร้างบนปลั๊กอินดั้งเดิมได้

  3. คุณสามารถอ่านข้อมูลที่เก็บไว้ในฐานข้อมูลโดยปลั๊กอินดั้งเดิมและใช้ในรหัสปลั๊กอินของคุณ

  4. คุณสามารถเรียกใช้ฟังก์ชันใด ๆ จากปลั๊กอินดั้งเดิมที่คุณต้องการหลังจากตรวจสอบแล้วว่าปลั๊กอินนั้นทำงานและโหลด (ดูด้านล่าง) เพียงแค่ตระหนักถึงผลกระทบใด ๆ ที่ฟังก์ชั่นอาจมีนอกเหนือจากค่าที่ส่งคืน

คุณจะต้องตรวจสอบว่ามีการเปิดใช้งานปลั๊กอินดั้งเดิมหรือไม่ คุณสามารถใช้is_plugin_activeฟังก์ชั่น; อย่างไรก็ตามสิ่งนี้ใช้ได้กับหน้าผู้ดูแลระบบเท่านั้น หรือคุณสามารถใช้function_existsหรือclass_existsเพื่อตรวจสอบว่ามีฟังก์ชั่นเฉพาะหรือคลาสจากปลั๊กอินดั้งเดิมที่มีอยู่หรือไม่ซึ่งจะบอกคุณว่ามันกำลังทำงานอยู่หรือไม่

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.