作为我当前正在编写的插件的一部分,我需要在管理屏幕中添加多个WordPress RTE。由于主屏幕上有使用JavaScript处理的标签,因此某些编辑器位于隐藏的<div>
元素内,例如:
<div id="terms" class="tab-content">
<?php wp_editor( null, 'terms', [ 'media_buttons' => false, 'teeny' => true ]); ?>
</div>
#terms
隐藏,直到用户单击“条款和条件”选项卡。但是,在页面加载时,编辑器实例呈现为奇怪的样子,控件显示在选项卡下方,依此类推:
将编辑器添加到第一个选项卡(默认情况下未隐藏)时,它会正确呈现。我怀疑这与TinyMCE实例加载后DOM元素不可见有关,但是即使手动初始化TinyMCE实例也不起作用:
// Set up TinyMCE editor:
var i = 1;
$('.wysiwyg textarea').each(function()
{
var id = $(this).attr('id');
if (!id)
{
id = 'customEditor-' + i++;
$(this).attr('id',id);
}
tinyMCE.execCommand('mceAddControl', false, id);
});
以前有人遇到过此问题吗?并有解决方法吗?