JavaScript의 Gutenberg 에디터 콘텐츠(WordPress)
TMCE 시절에는 편집자의 콘텐츠를 쉽게 얻을 수 있었습니다.editor.getContent()
그러나 새로운 구텐베르크 에디터에서는 그 방법을 찾을 수 없습니다.
모든 에디터의 콘텐츠는 HTML(데이터베이스에 저장되는 방식)로 필요합니다.
찾았다wp.block.serialize()
유망하게 들리는 방법단, (파라미터로서) 블록이 필요한 것 같습니다.그래서 막혔어요.
Gutenberg 버전 3.1부터는 다음을 시험해 보십시오.
플레인 블록 내용을 가져오려면:
var originalContent = wp.data.select( "core/editor" ).getCurrentPost().content;
var editedContent = wp.data.select( "core/editor" ).getEditedPostContent();
게시물을 렌더링하려면(블록에 표시):
wp.blocks.parse( editedContent );
다음 정보를 참조해 주십시오.window._wpGutenbergPost.content
둘 다 가지고 있다raw
그리고.rendered
내용.지금 이 순간입니다.상황은 아마 바뀔 것이다:)
셀렉터를 사용하여 데이터를 취득할 수 있습니다.예를 들어, 구텐베르크에서 편집하고 있는 투고 제목을 갱신하려면 , 다음의 조작을 실시할 수 있습니다.
wp.data.dispatch( 'core/editor' ).editPost( { title: 'New Title' } );
https://github.com/WordPress/gutenberg/blob/v2.9.2/editor/store/actions.js 에서 액션파일을 체크하면 core/interface 네임스페이스에서 정의된 액션의 전체 목록을 볼 수 있습니다.
상세보기: https://riad.blog/2018/06/07/efficient-client-data-management-for-wordpress-plugins/
비슷한 문제가 있지만 코멘트를 할 수 없습니다.게시 제목을 설정하지만 4.5.1 현재로 제공된 답변 Flow는 내용을 처리하지 않습니다.
투고 내용을 업데이트하기 위해 단락 블록을 삽입할 수 있었습니다.코드는 다음과 같습니다.
wp.data.dispatch( 'core/editor' ).editPost( { title: 'New Title' } );
var editedContent = wp.data.select( "core/editor" ).getEditedPostContent();
var newBlock = wp.blocks.createBlock( "core/paragraph", {
content: editedContent,
});
wp.data.dispatch( "core/editor" ).insertBlocks( newBlock );
언급URL : https://stackoverflow.com/questions/48206998/gutenberg-editor-content-in-javascript-wordpress
'programing' 카테고리의 다른 글
$.ajax()의 Ajax 요청에 어레이 전달 (0) | 2023.03.27 |
---|---|
PropType과흐름 (0) | 2023.03.27 |
에러가 표시되는 이유...예기치 않은 요구: GET / internalapi / quotes (0) | 2023.03.27 |
npm @types org 패키지의 TypeScript 입력 (0) | 2023.03.27 |
PHP를 사용하여 REST API 만들기 (0) | 2023.03.27 |