我在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>
第二个是使用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));
}
?>
问题在于即使第二个编辑器正在显示;它缺少所有工具栏按钮。请参见下图以获取说明。有人知道该解决这个问题吗?
答案 0 :(得分:0)
我遇到了同样的问题。
当我在footer.php中添加代码<?php wp_footer(); ?>
时,它可以正常工作。
答案 1 :(得分:0)
我有完全相同的问题并以这种方式解决(WP 4.7):
首先在模板中创建一个隐藏的编辑器,以便WP为TinyMCE加载所有必需的文件(ID并不重要):
<div style="display:none"><?php wp_editor('', 'hidden_editor'); ?></div>
然后在将新编辑器附加到DOM后,使用以下函数:
quicktags({id :'your_new_editor_id'});
tinymce.execCommand('mceAddEditor', true, 'your_new_editor_id');
使用tinymce.init
对我没用,因为新的编辑ID无法识别。这两行重新实现了quicktags并添加了新的编辑器。
答案 2 :(得分:-1)
您可能需要在AJAX通话中添加 media_buttons 和 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上查看wp_editor()功能参考页。
答案 3 :(得分:-1)
嘿,我也有同样的问题!
我刚刚停用了我安装的所有插件并刷新了页面,然后我也尝试编辑可视区域中的帖子/页面。检查一下它是否适合您。 :)
答案 4 :(得分:-1)
我遇到了同样的问题:
<?php wp_editor(get_the_content()); ?>
通过传递ID(第二个参数到wp编辑器)我得到了按钮。 像这样:
<?php wp_editor(get_the_content(), "with_a_ID_its_buttons_are_showing"); ?>