답변:
주요 문제는 누락 된 스크립트입니다. 대기열에 포함 된 스크립트 _WP_Editors::enqueue_scripts()
는 인쇄되지 않습니다. 의 경우도 마찬가지입니다 _WP_Editors::editor_js()
.
따라서 AJAX 콜백 핸들러에서이를 수행해야합니다. 데모 플러그인을 작성하여 GitHub : T5 AJAX Editor 에 넣었습니다 .
라는 클래스가 하나 있습니다 Ajax_Editor
. 이 메소드 render()
는 편집기를 AJAX 요청에 인쇄합니다.
public function render()
{
if ( ! $this->validator->is_valid( TRUE ) )
die( 'nope' );
wp_editor( $this->data->get(), $this->editor_id, $this->settings );
\_WP_Editors::enqueue_scripts();
print_footer_scripts();
\_WP_Editors::editor_js();
die();
}
정확한 순서는 중요 die()
합니다. 끝 부분을 잊지 마십시오 . 아직 작동하지 않는 것은 미디어 업로드입니다. 포함하려고하면 JavaScript 오류가 발생합니다.
호출 print_footer_scripts();
하면 예상보다 많은 것을 얻을 수 있습니다. 일부 플러그인 (예 : 쿼리 모니터)은 AJAX 요청에 대해 필요하지 않더라도 스크립트를 등록합니다.
wp.editor.initialize
: wordpress.stackexchange.com/a/274608/76440
그것에 어려움을 겪고 나서 콜백 add에서 작동하는 한 줄 솔루션을 찾았습니다.
tinymce.execCommand( 'mceAddEditor', true, element.id );
tinymce에서 문서를 찾을 수없는 이유를 모르겠습니다.