块编辑器块是通过解析post_content
. 块由如下HTML注释分隔:
<!-- wp:image -->
<figure class="wp-block-image"><img src="source.jpg" alt="" /></figure>
<!-- /wp:image -->
块的实际数据存储方式完全取决于块。块可以将其属性作为JSON存储在HTML注释中(由编辑器处理),如下面的示例
here:
<!-- wp:latest-posts {"postsToShow":4,"displayPostDate":true} /-->
或者,他们可以通过解析保存的HTML来重建属性。它甚至可以是一个组合。例如,按钮块存储
className
属性,但通过解析HTML恢复链接和标签:
<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://wpthemetestdata.wordpress.com/2018/11/03/block-button/">another button</a></div>
<!-- /wp:button -->
记录了存储块数据的可能方法
here, 每个模块的工作方式都不同。
这里的问题是块不是设计成手写的。它们应该用块编辑器创建。用于在中转换HTML的逻辑post_content
返回到块编辑器中的块中仅存在于该块的代码中。因此,要编写可转换为块的HTML,您需要研究用于注册该块的代码,以了解它所需的格式。
如果您有一个非WordPress应用程序需要创建块内容,唯一可靠的方法是使块编辑器适应该应用程序。