Php 动态生成的Wordpress所见即所得编辑器(wp_编辑器)未正确显示

Php 动态生成的Wordpress所见即所得编辑器(wp_编辑器)未正确显示,php,ajax,tinymce,wordpress,Php,Ajax,Tinymce,Wordpress,我在wordpress管理页面上有两个html所见即所得编辑器。两者都使用WP_EDITOR()函数。第一个是硬编码到页面中的: <form name="form1" id="form1" method="post" action="" style="display:block;"> <p> <!-- editor here --> <?php wp_editor( 'CONTENT WILL APPEAR HERE!'

我在wordpress管理页面上有两个html所见即所得编辑器。两者都使用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>


第二个是使用AJAX调用(wp_AJAX_u和$.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));

} 
?>

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


您可能需要在AJAX调用中添加媒体按钮和tinymce参数

大概是这样的:

<?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));

    } 
?>


我建议您查看Wordpress Codex上的函数参考页。

我也有同样的问题


当我在我的footer.php中添加代码时,它会工作。

嘿,我也有同样的问题


我只是停用了我安装的所有插件并刷新了页面,然后我还尝试在可视区域编辑帖子/页面。检查一次,它将为您工作。:)

我也遇到了同样的问题,使用这个:

<?php wp_editor(get_the_content()); ?>

通过向wp_编辑器传递ID(第二个参数),我得到了按钮。 像这样:

<?php wp_editor(get_the_content(), "with_a_ID_its_buttons_are_showing"); ?>

我遇到了完全相同的问题,并通过这种方式解决了它(WP 4.7):

首先在模板中创建一个隐藏编辑器,以便WP加载TinyMCE所需的所有文件(ID无关紧要):


使用
tinymce.init
对我不起作用,因为无法识别新的编辑器ID。这两行代码重新实例化了quicktags并添加了新的编辑器。

我花了数周时间试图通过AJAX正确调用wp_editor(),但我仍然不知道如何正确地完成。它带来了各种各样的精彩问题。如果我是你,我会在你领先的时候放弃——尝试一种不需要wp_editor()和Ajax的不同方法。@Joe Buckl--LOL!是的,形势似乎很严峻。可能得侵入tinymce。在我的研究中,我发现了一些可能的解决方案:Kathy Is Aweome的tut在这里-上述是基于Dimas Begunoff的tut在这里(使用他的WPAlchemy Metaboxes):最适合我需要的解决方案是在下一个链接上,但我无法让它工作:我也通过了所有这些链接。当我早上回到办公室时,我会反思我的方法。我构建了一个插件,可以动态添加全功能编辑器,但不是以这种方式。没有解决这个问题的方法了吗(我在使用手柄和弹出对话框显示RTE时遇到类似问题。仍然没有有效的解决方案:(@diosney——事实上,我仔细研究了解决方案并使其发挥作用:。唯一的问题是QuickTags仍然没有显示。最后,我选择了一种变通方法。默认情况下,“媒体按钮”是正确的。它控制“上传/插入”文本和图标,而不是我所指的按钮。@Markus正确阅读。他还提供了解决办法。
<div style="display:none"><?php wp_editor('', 'hidden_editor'); ?></div>
quicktags({id :'your_new_editor_id'});
tinymce.execCommand('mceAddEditor', true, 'your_new_editor_id');