ฉันมีชุดรูปแบบที่พัฒนาขึ้นเองและซับซ้อนมาก หนึ่งในสิ่งที่ฉันมีคือหลายพื้นที่เนื้อหาที่ผู้ใช้สามารถระบุเนื้อหาสำหรับแท็บเฉพาะ ฉันโหลดตัวแก้ไข WordPress หลายอินสแตนซ์ผ่านwp_editor()
ฟังก์ชั่น มันทำงานได้อย่างสมบูรณ์ (นี่คือทั้งหมดที่ด้านผู้ดูแลระบบในประเภทโพสต์ "หน้า")
อย่างไรก็ตามฉันเริ่มทำการปรับปรุงเล็กน้อยรวมถึงความสามารถในการเพิ่ม / ลบแท็บแบบไดนามิก (ก่อนหน้านี้ฉันโหลดตัวแก้ไข 6 ตัวบนหน้าเว็บ) ผู้ใช้อาจมี 1-7 แท็บ
เมื่อผู้ใช้เพิ่มแท็บนั้นจะต้องเพิ่มอินสแตนซ์ของตัวแก้ไขในหน้า อย่างไรก็ตามไม่ว่าฉันจะพยายามอะไรฉันก็ไม่สามารถโหลดและแสดงผลได้อย่างถูกต้อง
นี่คือ 2 สิ่งที่ฉันได้ลองไปแล้ว:
- สร้างไฟล์ PHP
wp_editor()
ที่มีบูตผู้ดูแลระบบรวมแล้วโหลดโปรแกรมแก้ไขด้วย จากนั้นฉันจะทำ jQuery$.load
เพื่อโทรหาหน้าและรวม HTML ที่เป็นผลลัพธ์ไว้ในพื้นที่ที่ต้องการแสดง วิธีนี้ใช้ไม่ได้ผลเนื่องจากปุ่มการจัดรูปแบบตัวแก้ไขหายไป (มันน่าสังเกตว่าการดึงหน้าขึ้นมาโดยตรงตัวแก้ไขจะแสดงและทำงานได้อย่างสมบูรณ์) - โหลดเอดิเตอร์บนหน้าภายใน div ที่ซ่อนอยู่จากนั้นเมื่อเพิ่มแท็บแล้วให้ใช้ jquery เพื่อย้ายลงในตำแหน่ง สิ่งนี้จะโหลดตัวแก้ไขอย่างชาญฉลาด แต่คุณไม่สามารถใช้ปุ่มตัวแก้ไขใด ๆ (พวกเขาแสดง แต่ไม่ได้ทำอะไรเลย) และคุณไม่สามารถวางเคอร์เซอร์ของคุณในพื้นที่ข้อความ (อย่างไรก็ตามอยากรู้อยากเห็นว่าสลับไปยังโหมด HTML อนุญาตให้พิมพ์และโต้ตอบกับปุ่มโหมด HTML)
ดังนั้นคำถามคือมีใครมีโชคเพิ่มบรรณาธิการผ่านสาย AJAX หรือไม่ คำแนะนำใด ๆ?
$('#sph-tabs-section-tab'+newTab).load('/wp-admin/admin-ajax.php?action=sph_add_editor');
wp_editor()
มันถูกเรียกโดยไม่มีปัญหา แต่มันก็แค่คืนค่าตัวแก้ไขโดยไม่มีปุ่ม (ผลลัพธ์เช่นเดียวกับข้อ 1 ใน OP)
admin-ajax.php
หรือไม่? หากไม่มีฟังก์ชั่นที่มีรหัสของคุณให้เรียกมันผ่านทางadmin-ajax.php