我有2个HTML所见即所得的编辑器在WordPress管理页面。都使用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_ and $.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));
}
?>
问题是,即使第二个编辑器正在显示;它丢失了所有的工具栏按钮。见下图的说明。有人知道谁来解决这个问题吗?
6条答案
按热度按时间bihw5rsg1#
我也有同样的问题。
当我在footer.php中添加代码
<?php wp_footer(); ?>
时,它工作了。tjvv9vkg2#
我有完全相同的问题,并解决了它这样(WP 4.7):
首先在模板中创建一个隐藏的编辑器,以便WP加载TinyMCE的所有必要文件(ID无关紧要):
然后,在将新编辑器附加到DOM之后,使用以下函数:
使用
tinymce.init
对我来说不起作用,因为新的编辑器ID无法识别。这两行重新示例化quicktags并添加新的编辑器。o4hqfura3#
Documentation
问题是您正在为两个编辑器使用相同的
$editor_id
,editsometxt
,尝试更改第二个编辑器的$editor_id
yqkkidmi4#
可能需要在 AJAX 调用中添加media_buttons和tinymce参数。
大概是这样的
我建议你检查wp_editor()功能参考页面在WordPress的法典。
332nm8kg5#
嘿,我也有同样的问题!
我刚刚停用了所有我安装的插件并刷新了页面,然后我还尝试在可视区域编辑帖子/页面。检查一次,它会为你工作。:)
egdjgwm86#
我也有同样的问题,使用这个:
通过传递一个ID(wp_editor的第二个参数),我得到了按钮,如下所示: