How does wordpress blocks?

时间:2021-02-16 作者:MrBadonkadonk

找不到这个问题的答案,所以我想在这里问一下。因此,您有一个post类型的页面,在每个页面上都有post\\u内容,在我的情况下,它只是一组其他块,例如在SQL中,它看起来是这样的:

<!-- wp:acf/test-block {
    "id": "block_id",
    "name": "acf\\/test-block",
    "data": {
        "title": "title",
        "_title": "title"
    },
    "align": "false",
    "mode": "edit"
} /-->
这就是数据所在的位置,但实际的HTML是如何进入页面的呢?SQL数据如何转换为一个充满块的页面?

1 个回复
SO网友:Tom J Nowell

但是实际的HTML是如何出现在页面上的呢?SQL数据如何转换为一个充满块的页面?

通常,块的HTML位于HTML注释中。

然而,与短代码非常相似,ACF块是在PHP中呈现的,因此在the_content 过滤器,则该块将替换为呈现的HTML。WordPress知道该怎么做,因为ACF注册了块并提供了一个渲染回调函数来调用。

因此,这本质上是一个更现代的短代码版本,具有更好的UI和开发人员功能(如果禁用ACF,您不会在前端显示原始的短代码)

至于ACF如何从数据库中检索数据,您需要在ACF论坛中询问,因为这是ACF块所特有的。

未包装在注释中的HTML在编辑时被解释为经典编辑器中的经典内容。

相关推荐

对从MySQL提取的数据进行条件格式设置

我不是PHP方面的专家,我正在尝试对从wpdb获取的数据应用条件格式。公平地说,我正在尝试为此创建短代码。我的座右铭是为$previous\\u marks&;获取价值$从数据库中删除current\\u标记,并根据if、else条件更改$current\\u标记的颜色。根据情况:如果$当前标记$前一个\\u标记,则$current\\u标记的值应与pass一起以绿色显示。值旁边的png图像否则$current\\u标记的值应以红色和fail显示。值旁边的png图像我还需要帮助在$current\\