首页 > 解决方案 > 使用 wp_insert_post() 时如何在 post_content 中插入古腾堡块?

问题描述

我想在 php 中生成一个古腾堡块。

我目前正在开发一个 wordpress 插件,它可以从 youtube 导入视频并为每个视频创建一个帖子。我可以在 post_content 中插入 youtube 视频,但是当我使用古腾堡编辑器编辑帖子时,它不会显示为块。

我在这里阅读了大部分“块编辑器手册” https://developer.wordpress.org/block-editor/ 但除了如何创建自定义块之外我找不到任何东西。我也在谷歌上搜索过,但我发现的一切都是关于创建自定义块的。然而我发现gutenberg块作为html评论存储在post_content中,但评论似乎是通过gutenberg WYSIWYG编辑器用js生成的。

我知道我可以创建一个带有块的帖子并从我的数据库中复制 post_content 然后将其用作“模板”,但我认为这不是正确的方法。

是否有任何关于使用 wordpress 附带的块(即:嵌入、段落)并生成 html 评论的文档,该评论保存在 post_content 和 php 中?甚至可能吗?

标签: phpwordpresswordpress-gutenberggutenberg-blocks

解决方案


当您手动添加 YouTube 块时,单击“工具和选项”菜单(右侧)中的“代码编辑器”视图。在代码编辑器视图中,您将看到编辑器正确解析块所需的 HTML。

例如:

<!-- wp:core-embed/youtube {"url":"https://www.youtube.com/watch?v=VIDEOID","type":"video","providerNameSlug":"youtube","className":"wp-embed-aspect-16-9 wp-has-aspect-ratio"} -->
<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
https://www.youtube.com/watch?v=VIDEOID
</div></figure>
<!-- /wp:core-embed/youtube -->


推荐阅读