programing

Wordpress Editor는 렌더링할 때 상위 항목에 표시되지 않는 경우 작동하지 않습니다.

stoneblock 2023. 10. 6. 20:50

Wordpress Editor는 렌더링할 때 상위 항목에 표시되지 않는 경우 작동하지 않습니다.

텍스트 필드와 wp_editor로 팝업 창을 열려고 합니다.바닥글에 이미 렌더링되어 있지만 아무 것도 표시하지 않습니다.제가 시도한 것은 아래와 같이 코드를 알려드리겠으나 100%에서 최대 90%까지만 작업을 진행하지 않았습니다.우리가 어떤 식으로든 해결할 수 있다면 그 둘은 다른 버그를 가지고 있습니다.

시도해 본 내용:

사용해 보기:편집기에 텍스트 영역을 입력하면 팝업 창에 아무 것도 표시되지 않습니다.

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

자바스크립트:

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 );

2번 시도:일반 wp_editor를 사용하는데 팝업창이 아무 것도 표시되지 않습니다.

PHP:

wp_editor($content, 'pbcontent'.$module_count);

자바스크립트:

I have no clue how I could "re-init" the visual editor.

편집기에 이미 편집기에 있는 텍스트를 표시하면 콘솔 오류만 발생하고, 링크를 편집하려고 하면 텍스트 상자에 있는 내용을 편집할 수 없습니다. 팝업이 뜨지만 편집할 수 없습니다.두 번째 시도에서는 렌더링 시 wp 편집기가 보이면 100% 작동하지만 디스플레이가 없는 상태에서 렌더링되면 전혀 작동하지 않습니다.

미리 감사드립니다!

저는 현재 jQuery를 사용하여 작업 중인 사이트에서 비슷한 설정을 하고 있습니다.내 에디터는 AJAX를 사용하는 다른 페이지에서 "ajax_editor" 클래스의 디브로 로드된 다음 즉시 사라집니다.

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.");
                        });
                    }});        
    }

그럼 사용합니다.fadeIn그리고.fadeOut편집기를 표시하거나 숨깁니다.

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

function closeEditor() {
    $(".ajax_editor").fadeOut(500);
}

언급URL : https://stackoverflow.com/questions/30860828/wordpress-editor-dont-work-if-parent-has-display-none-when-rendered