J'ai un thème développé sur mesure et vraiment complexe. L'une des choses que j'ai, c'est plusieurs zones de contenu où les utilisateurs peuvent spécifier du contenu pour des onglets spécifiques. Je charge plusieurs instances de l'éditeur WordPress via la wp_editor()
fonction. Cela fonctionne parfaitement. (Tout cela est du côté administrateur, dans le type de message "Page")
Cependant, j'ai commencé à apporter quelques améliorations, notamment la possibilité d'ajouter / supprimer des onglets de manière dynamique (auparavant, j'avais chargé 6 éditeurs sur la page). Les utilisateurs peuvent avoir 1 à 7 onglets.
Lorsque les utilisateurs ajoutent un onglet, il doit ajouter une instance de l'éditeur à la page. Cependant, peu importe ce que j'essaie, je n'arrive pas à le charger et à l'afficher correctement.
Voici les 2 choses que j'ai essayées jusqu'à présent:
- Créez un fichier php avec le bootstrap d'administration inclus, puis chargez l'éditeur avec
wp_editor()
. Je fais ensuite un jQuery$.load
pour appeler la page et inclure le code HTML résultant dans la zone qu'il doit afficher. Cela ne fonctionne pas vraiment, cependant, car les boutons de formatage des éditeurs disparaissent (il convient de noter que, en tirant la page directement, l'éditeur s'affiche et fonctionne parfaitement) - A chargé l'éditeur sur la page, à l'intérieur d'un div caché, puis une fois un onglet ajouté, utilisez jquery pour le déplacer en place. Cela charge l'éditeur dans le tact, mais vous ne pouvez utiliser aucun des boutons de l'éditeur (ils s'affichent, mais ne font rien), et vous ne pouvez pas placer votre curseur dans la zone de texte (curieux, cependant, que le passage en mode HTML permet de taper et d'interagir avec les boutons du mode HTML)
La question est donc: est-ce que quelqu'un a eu de la chance d'ajouter des éditeurs via les appels AJAX? Aucun conseil?
$('#sph-tabs-section-tab'+newTab).load('/wp-admin/admin-ajax.php?action=sph_add_editor');
puis ajouté une fonction qui retourne wp_editor()
. Il est appelé sans problème, mais il ne renvoie que l'éditeur sans boutons. (mêmes résultats que l'article 1 du PO)
admin-ajax.php
? Si vous ne faites pas de fonction avec votre code, appelez-le viaadmin-ajax.php