隐藏元素内的WordPress wp_editor()无法正确呈现

时间:2018-10-02 10:50:32

标签: javascript php wordpress tinymce

作为我当前正在编写的插件的一部分,我需要在管理屏幕中添加多个WordPress RTE。由于主屏幕上有使用JavaScript处理的标签,因此某些编辑器位于隐藏的<div>元素内,例如:

<div id="terms" class="tab-content">
  <?php wp_editor( null, 'terms', [ 'media_buttons' => false, 'teeny' => true ]); ?>
</div>

#terms隐藏,直到用户单击“条款和条件”选项卡。但是,在页面加载时,编辑器实例呈现为奇怪的样子,控件显示在选项卡下方,依此类推:

enter image description here

将编辑器添加到第一个选项卡(默认情况下未隐藏)时,它会正确呈现。我怀疑这与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);
});

以前有人遇到过此问题吗?并有解决方法吗?

0 个答案:

没有答案