动态生成的Wordpress Wysiwyg编辑器(wp_editor)无法正常显示

C K*_*ing 6 php ajax wordpress tinymce

我在wordpress管理页面上有2个html wysiwyg编辑器.两者都使用WP_EDITOR()函数.第一个硬编码到页面中:

<form name="form1" id="form1" method="post" action="" style="display:block;">
  <p>
    <!-- editor here -->
    <?php
       wp_editor( 'CONTENT WILL APPEAR HERE!', 'addsometxt', array('textarea_name'=>'create_txt','textarea_rows'=>10,'wpautop'=>false));
    ?>
  </p>
  <p>
   <input name="save" type="submit" class="button-primary" id="save" style="margin:5px;" value="Save Input" /></p>
</form>
Run Code Online (Sandbox Code Playgroud)

第二个是使用AJAX调用(wp_ajax_和$ .post)使用PHP函数动态生成的.我测试了ajax调用并知道它有效; 所以,为了简洁起见,这里是php函数:

<?php
function display_editor2() {
// grab data from database (data_from_db) and display in editor
  wp_editor( $row->data_from_db, 'editsometxt', array('textarea_name'=>'edit_txt','textarea_rows'=>10,'wpautop'=>false));

} 
?>
Run Code Online (Sandbox Code Playgroud)

问题是即使第二个编辑器正在显示; 它缺少所有工具栏按钮.请参见下图以获取说明.有人知道该解决这个问题吗?

在此输入图像描述

小智 -1

可能您需要在 AJAX 调用中添加media_buttonstinymce参数。

像这样的东西:

<?php
function display_editor2() {
    // grab data from database (data_from_db) and display in editor
    wp_editor( $row->data_from_db, 'editsometxt', array('textarea_name'=>'edit_txt','media_buttons'=>true,'tinymce'=>true,'textarea_rows'=>10,'wpautop'=>false));

    } 
?>
Run Code Online (Sandbox Code Playgroud)

我建议您查看WordPress Codex 上的wp_editor()函数参考页面。