我在WP编辑器的自定义实例中初始化内联链接工具栏时遇到问题。
使用wp\\u编辑器函数和一些JavaScript在动态加载模式中添加实例。在WordPress 4.5之前,它一直正常工作,但现在已损坏。
有些部件可以工作。当我单击按钮添加/编辑链接时,文本确实会突出显示为占位符,只是工具栏没有显示。TinyMCE插件的标记确实会添加到文档的底部,如果我打开并关闭连接到新实例的媒体编辑器,那么内联链接工具栏就会正常工作。
当工具栏不能正常工作时,没有JavaScript错误,只是看起来JavaScript处理程序没有正确绑定或其他什么。
我将非常感谢任何人的帮助或建议。
下面是我用来初始化WP编辑器实例的JS代码。
var $element = jQuery(\'#newcontent\');
var qt;
var textfield_id = $element.attr(\'id\');
window.tinyMCEPreInit.mceInit[textfield_id] = _.extend({}, tinyMCEPreInit.mceInit[\'content\']);
if(_.isUndefined(tinyMCEPreInit.qtInit[textfield_id])) {
window.tinyMCEPreInit.qtInit[textfield_id] = _.extend({}, tinyMCEPreInit.qtInit[\'replycontent\'], {id: textfield_id})
}
qt = quicktags( window.tinyMCEPreInit.qtInit[textfield_id] );
QTags._buttonsInit();
//make compatable with TinyMCE 4 which is used starting with WordPress 3.9
if (tinymce.majorVersion === "4") {
tinymce.execCommand( \'mceAddEditor\', false, textfield_id );
}
window.switchEditors.go(textfield_id, \'tinymce\');
//focus on this RTE
tinyMCE.get(textfield_id).focus();
window.wpActiveEditor = textfield_id;
更新后,这个问题似乎与我正在添加wp\\u editor实例的引导模式有关。我不知道如何打开和关闭WordPress媒体模式才能让这一切顺利进行。当使用以下代码初始化模式/编辑器时,我尝试手动重新关注wpbody内容ID,但这不起作用。jQuery(#wpbody content\')。focus();
编辑,已解决。。如果主体具有“modal open”类,则链接对话框无法工作。