Ich habe ein Thema, das speziell entwickelt und sehr komplex ist. Ich habe unter anderem mehrere Inhaltsbereiche, in denen Benutzer Inhalte für bestimmte Registerkarten angeben können. Ich lade mehrere Instanzen des WordPress-Editors über die wp_editor()
Funktion. Es funktioniert perfekt (Dies ist alles auf der Admin-Seite, im Post-Typ "Seite")
Ich habe jedoch einige Verbesserungen vorgenommen, einschließlich der Möglichkeit, Tabs dynamisch hinzuzufügen / zu entfernen (zuvor habe ich 6 Editoren auf die Seite geladen). Benutzer können 1-7 Registerkarten haben.
Wenn Benutzer eine Registerkarte hinzufügen, muss der Seite eine Instanz des Editors hinzugefügt werden. Unabhängig davon, was ich versuche, kann ich es nicht laden und korrekt anzeigen.
Hier sind die 2 Dinge, die ich bisher ausprobiert habe:
- Erstellen Sie eine PHP-Datei, in der der Admin-Bootstrap enthalten ist, und laden Sie dann den Editor mit
wp_editor()
. Ich mache dann eine jQuery$.load
rufe die Seite mit auf und füge den resultierenden HTML-Code in den Bereich ein, der angezeigt werden soll. Dies funktioniert jedoch nicht wirklich, da die Formatierungsschaltflächen des Editors verschwinden (es ist erwähnenswert, dass beim direkten Aufrufen der Seite der Editor perfekt angezeigt wird und funktioniert). - Laden Sie den Editor auf der Seite in ein ausgeblendetes Div, und verschieben Sie ihn mit jquery, sobald ein Tab hinzugefügt wurde. Dadurch wird der Editor im Takt geladen, aber Sie können keine der Editorschaltflächen verwenden (sie werden angezeigt, tun aber nichts) und Sie können den Cursor nicht in den Textbereich setzen (neugierig, jedoch, wenn Sie in den HTML-Modus wechseln) Ermöglicht das Schreiben und einige Interaktionen mit den HTML-Modus-Schaltflächen
Die Frage ist also, hat jemand Glück gehabt, Redakteure über AJAX-Aufrufe hinzuzufügen? Irgendein Rat?
$('#sph-tabs-section-tab'+newTab).load('/wp-admin/admin-ajax.php?action=sph_add_editor');
und habe dann eine Funktion hinzugefügt, die zurückgibt wp_editor()
. Es wird problemlos aufgerufen, gibt aber nur den Editor ohne Schaltflächen zurück. (Genau die gleichen Ergebnisse wie Punkt 1 im OP)
admin-ajax.php
? Wenn Sie mit Ihrem Code keine Funktion ausführen, rufen Sie ihn überadmin-ajax.php