Wordpress Gutenberg在Gutenberg编辑器中编辑现有的帖子内容

问题描述 投票:0回答:1

这是我的逐步方案:

  1. 使用古腾堡创建几篇文章,其中可以包括任何类型的块/元素
  2. 使用古腾堡创建页面
  3. 在古腾堡创建一个自定义窗口小部件(称为load-post-widget),该窗口小部件在加载时将从页面中显示的现有帖子中获取帖子内容。
  4. 使用Gutenberg编辑器模式,与任何其他帖子内容一样,加载帖子内容的load-post-widget上传应该是可编辑的。

但是,我无法使用'load-post-widget'编辑获取的帖子内容,我想我不确定如何返回帖子内容,因此Gutenberg将其视为可编辑的形式。请帮助。

Qn:如何将任何post.content.raw渲染为可使用Gutenberg进行编辑的react元素。

这里是示例代码,如步骤3所示:

registerBlockType( 'test/load-post-widget', {
    title: 'Load Post Widget',
    icon: 'smiley',
    category: 'widgets',

    edit: withSelect((select) => {
            return {  posts: select('core').getEntityRecords('postType', 'post')};
        })(({ posts, className }) => {
        if ( ! posts ) {
            return 'Loading...';
        }
        if ( posts && posts.length === 0 ) {
            return 'No posts';
        }
        let post = posts[0]; // hard coded as of now.

        // Option 1: This does not make the rendered post content/blocks editable
        return <div dangerouslySetInnerHTML={ { __html: post.content.raw } }></div> 
    } ),
} );
reactjs wordpress wordpress-gutenberg
1个回答
0
投票
容易,但是花了很长时间才弄清楚! (其隐藏在wp中的数千个API文档中)
© www.soinside.com 2019 - 2024. All rights reserved.