如果父项在呈现时没有显示,则Wordpress编辑器不起作用

Fre*_*rik 5 javascript php wordpress jquery

我正在尝试打开一个带有文本字段和wp_editor的弹出窗口.这已经在页脚中呈现,但只显示无.我将在下面给出我的代码,但我的代码没有达到100%,只有90%的最大值.如果我们能够以某种方式解决它并不重要,它们都有不同的错误.

我尝试过的:

尝试一下:我向编辑器初始化textarea,弹出窗口显示无

PHP:

_WP_Editors::editor($option["value"], 'pbcontent', array('drag_drop_upload' => true ));
?>
<script type="text/javascript">
et_tinyMCEPreInit  */
jQuery(document).ready(function(e) {
    if(typeof( et_tinyMCEPreInit ) == 'undefined') {
        et_tinyMCEPreInit = JSON.stringify(tinyMCEPreInit);
    }
});
</script>
    <?php
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

var str = et_tinyMCEPreInit;
var ajax_tinymce_init = JSON.parse(et_tinyMCEPreInit);

ajax_tinymce_init.mceInit.pbcontent.plugins = ajax_tinymce_init.mceInit.content.plugins.replace('fullscreen,', '')
ajax_tinymce_init.mceInit.pbcontent.toolbar1 = ajax_tinymce_init.mceInit.content.toolbar1.replace('dfw,', '')
tinymce.get('pbcontent').remove();

console.log(ajax_tinymce_init.mceInit.pbcontent);

tinymce.init( ajax_tinymce_init.mceInit.pbcontent );
Run Code Online (Sandbox Code Playgroud)

试试两个:我使用普通的wp_editor,弹出窗口显示无.

PHP:

wp_editor($content, 'pbcontent'.$module_count);
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

I have no clue how I could "re-init" the visual editor.
Run Code Online (Sandbox Code Playgroud)

在尝试一个它可以正常编辑我只在标记已经在编辑器中的文本时出现控制台错误,当我尝试编辑链接时,我无法编辑文本框中的内容,弹出窗口出现但我无法编辑它.在第二次尝试中,如果wp编辑器在渲染时可见,则它可以100%工作,但如果在父级上使用display none进行渲染,则它根本不起作用.

谢谢它提前!

Sin*_*ard 0

我目前正在使用 jQuery 在网站上进行类似的设置。我的编辑器使用 AJAX 从不同的页面加载到具有“ajax_editor”类的 div 中,然后立即淡出:

function loadEditor() {
        $.ajax({url: "post-editor", success: function(result){
                        $('.ajax_editor').addClass('active').html(result).fadeOut(0,function () {
                            $('.header .editor').prop( "disabled", false ).attr("placeholder", "Let us know what you're thinking - post something.");
                        });
                    }});        
    }
Run Code Online (Sandbox Code Playgroud)

然后我使用fadeInfadeOut来显示或隐藏编辑器:

function openEditor() {
    $(".ajax_editor").fadeIn(500);
}

function closeEditor() {
    $(".ajax_editor").fadeOut(500);
}
Run Code Online (Sandbox Code Playgroud)