我尝试在使用ajax加载的内容中使用wp_editor()
,但没有加载任何所需文件和其他配置脚本:
ajax的结构是这样的:
function get_test_page(){
include( TEMPLATEPATH . '/page.php' );
die( main() );
}
add_action( 'wp_ajax_nopriv_get_test_page', 'get_test_page' );
add_action( 'wp_ajax_get_test_page', 'get_test_page' );
page.php:
function main(){
wp_editor('','unique_id');
}
已加载编辑器,但未加载所需文件。
http://.../wp-includes/js/tinymce/wp-tinymce.php
http://.../wp-includes/js/tinymce/skins/lightgray/skin.min.css
http://.../wp-admin/load-scripts.php?c=1&load%5B%5D=...mce-view,imgareaselect,image-edit,word-count,editor,quicktags,wplink,thick..
http://.../wp-includes/js/tinymce/langs/{}.js
...
一些相关的帖子但对我没有帮助:
答案 0 :(得分:2)
<强>解决方案强>:
在完美无缺的地方添加wp_editor()
并隐藏它。
<div class="hidden-editor-container" style="display:none;">
<?php wp_editor( '', 'editor' ); ?>
</div>
之后将编辑器内容分配给全局JS变量。
EDITOR = $('.hidden-editor-container').contents();
最后加载ajax页面时附加编辑内容
$('.editor').append( EDITOR );
tinymce.execCommand( 'mceRemoveEditor', false, 'editor' );
tinymce.execCommand( 'mceAddEditor', false, 'editor' );