使用自定义Gutenberg块将外部数据导入POST

时间:2019-02-22 作者:pipwerks

我创建了一个简单的古腾堡块,显示外部托管视频的转录本。

创建新的WP帖子时,作者在块的编辑器部分输入视频的ID。这会触发我的自定义PHP,通过第三方API获取和解析视频的标题文件。然后使用WP的ServerSideRender在编辑器视图和前端视图中呈现标题文件。这很有效。

问题是,成绩单从未真正导入或以任何方式保存在WP数据库中——每次查看者访问页面时,成绩单总是实时重新获取。该成绩单从未保存在WP数据库中,这意味着网站访问者无法搜索该成绩单。

我的目标是让WP作者在创建帖子时,通过在Gutenberg块属性字段中输入视频ID来获取视频的转录本。一旦获取,成绩单将自动插入WP帖子的正文中editable HTML 因此,作者可以对其进行清理(修复打字错误和标点符号),然后将其保存在WP数据库中。

我花了很多很多时间试图解决这个问题,但没有运气。我的谷歌Fu让我失望,部分原因是古腾堡太新了。

所以我已经在通过API获取成绩单了,我只是不知道如何从古腾堡的React渲染系统中获取它。如何将检索到的文本作为HTML插入帖子正文,而不是在Gutenberg块中呈现为不可编辑的文本?

谢谢

1 个回复
最合适的回答,由SO网友:Mehmood Ahmad 整理而成

您可以使用将数据保存到数据库中save 中的方法registerBlockType. 只需在上发出请求ComponentDidMount 通过使用JSfetch API,存储并在编辑方法中使用它。最后使用save方法,而不是使用服务器端渲染。

只有当您的内容更改为最新帖子时,才应使用服务器端呈现。如果这只是一次性数据,那么就不需要了。

相关推荐