使用JavaScript在Gutenberg编辑器中修改内容

时间:2019-04-10 14:12:43

标签: wordpress wordpress-gutenberg

使用TinyMCE之前,由于将TinyMCE附加到固定的'div id =“ content”',只需修改HTML中的内容即可轻松修改内容

如何在Gutenberg中使用JavaScript修改内容?

我尝试使用与TinyMCE中相同的方式进行修改,但这只是修改HTML中的内容,而不是Gutenberg中的实际内容

我使用以下代码从Gutenberg块中获取了内容。

  public getContent(): string {
    const editor = wp.data.select('core/editor');
    let content = '';
    if (editor) {
      const editedContent = editor.getEditedPostContent();
      const blocks = wp.blocks.parse(editedContent) as any as Block[];
      if (blocks && blocks.length > 0) {
        blocks.forEach((block) => {
          content += this.createGutenbergBlock(block);
        });
      }
    }
    return '<blocks>' + content + '</blocks>' ;
  }

 private createGutenbergBlock(block: Block): string {
    const innerblocks = block.innerBlocks.map((blk) => {
      return this.createGutenbergBlock(blk);
    }).join('');
    return `<block 
    clientId="${block.clientId}">${block.originalContent}${innerblocks} 
    </block>`;
  }

我想知道如何使用JavaScript修改Gutenberg中的块内容?

0 个答案:

没有答案