นี่ไม่ใช่คำตอบที่สมบูรณ์เพียงแค่ทิศทางการออกแบบ ฉันคิดว่าวิธีที่ดีที่สุดคืออะไรแบบนี้:
ในโพสต์แก้ไขของผู้ดูแลระบบ
Rip ย่อทั้งหมดจากการโพสต์ที่บันทึกไว้และทำให้มันภายใน metabox ที่นอกเหนือจากการแก้ไข ทำให้เงาพวกเขาปรากฏในลำดับเดียวกันกับรหัสย่อที่เกิดขึ้นในตัวแก้ไขเล็ก
ใน tinyMCE javascript API
สร้างฟังก์ชั่น jQuery เมื่อผู้ใช้คลิกที่ shortcode มันจะสลับ HTML จาก metabox ลงในตัวแก้ไข และในทางกลับกัน. คำสั่งนั้นควรจะตกลงในฐานะที่เป็นสมาคม แต่ฉันไม่ได้คิดเกี่ยวกับการใส่รหัสย่อ อย่างไรก็ตามมีหลายวิธีในการออกแบบการเชื่อมต่อ ID ที่ดี การอัปเดตรหัสย่อสามารถทำได้ทันทีด้วย Ajax
อย่าบันทึกสถานะรหัสย่อที่แสดงผล
ก่อนที่จะสลับโปรแกรมแก้ไขให้บันทึกแบบร่างอัตโนมัติและเผยแพร่ทำการเรียก API เพื่อเรียกคืนสถานะดังนั้นรหัสย่อที่แสดงจึงไม่เคยได้รับการบันทึก ...
สิ่งนี้สามารถทำได้ แต่คุณต้องคุ้นเคยกับ tinyMCE API เพื่อทำความเข้าใจว่าเมื่อใดและเมื่อใดที่จะเข้าถึงเนื้อหาของโปรแกรมแก้ไขและขอเข้าสู่การกระทำของจาวาสคริปต์ก่อนที่จะ 'บันทึก' และอีกมากมาย
สามารถมีตัวแก้ไข tinyMCE หลายตัวใน pageload โพสต์แก้ไขเดียวกัน
ส่วนเรียกคืนสามารถตรวจสอบได้โดยดูที่[gallery]
beaviour รหัส แต่การคลิกบน[MY_SHORTCODE]
นั้นจะต้องทำโดยเทคนิค jQuery
ในสคริปต์ admin_footer เข้าถึงเนื้อหาที่เคอร์เซอร์ทำงานด้วย:
var $editor_content = $(tinymce.activeEditor.getBody());
เป็นคำใบ้ของวิธีการเริ่มต้น