I have a theme that is custom developed and really complex. One of the things that I have is multiple content areas where users can specify content for specific tabs. I load multiple instances of the WordPress editor through the wp_editor()
function. It works perfectly. (This is all on the admin side, in the "Page" post type)
However, I began making a few improvements, including the ability to add/remove tabs dynamically (before, I loaded 6 editors on the page). Users may have 1-7 tabs.
When users add a tab, it needs to add an instance of the editor to the page. However, no matter what I try, I cannot get it to load and display correctly.
Here are the 2 things that I have tried so far:
- Create a php file that has the admin bootstrap included, and then loading the editor with
wp_editor()
. I then do a jQuery$.load
to call the page and include the resulting HTML in the area that it needs to display. This doesn't really work, however, as the editors formatting buttons disappear (it's worth noting, that pulling the page up directly, the editor displays and functions perfectly) - Loaded the editor on the page, inside a hidden div, and then once a tab is added, use jquery to move it into place. This loads the editor in tact, but you cannot use any of the editor buttons (they display, but don't do anything), and you can't put your cursor in the text area (curious, however, that switching to HTML mode allows typing and some interaction with the HTML mode buttons)
So the question is, has anyone had any luck adding editors through AJAX calls? Any advice?
admin-ajax.php
? If no make a function with your code then call it viaadmin-ajax.php
$('#sph-tabs-section-tab'+newTab).load('/wp-admin/admin-ajax.php?action=sph_add_editor');
and then added a function that returnswp_editor()
. It gets called with no problem, but it still only returns the editor with no buttons. (exact same results as item 1 in the OP)