随着区块编辑器不断发展其内容管理能力,对自定义字段的支持不足已成为用户和开发者的主要障碍之一。虽然 WordPress 中的自定义字段仍然被广泛使用,但在区块编辑器中,它们被降级为屏幕底部的抽屉,并没有像许多人希望的那样被深度整合。随着即将到来的区块绑定 API,情况将发生非常好的改变。
什么是区块绑定 API?
解释区块绑定 API 的最佳方式之一是从一个像 WooCommerce 这样的插件开始。
想象一下,您正在构建您的 WooCommerce 商店,并使用块设计您站点的主页。您正在使用查询循环来显示您最畅销的产品,这意味着您将使用许多块来获取关于您的产品的重要自定义信息-产品描述、图片、画廊、添加到购物车按钮等等。
现在,WooCommerce 需要为每个单独的内容部分创建和管理自定义块。这是大量重复的代码和技术开销。而且,随着新的设计工具被添加到区块编辑器中,开发团队必须在每次发布后都返回并确保他们的自定义块可以正确支持新功能。如果他们可以使用核心块-如段落、标题或按钮块-并告诉 WordPress 将该块 「连接」 到产品数据,这不是更有意义吗?
这只是区块绑定 API 承诺的一个例子,自定义字段只是许多用例之一。一旦奠定了基础,这个功能可以扩展到在区块编辑器中相对难以管理的所有类型的数据,从填充文章和站点信息 (如作者名称或特色图像) 到帮助同步模式变得更加健壮。
动态数据能节省时间和资源吗?
为了了解更多关于区块绑定 API 的信息,我联系了 Pods 框架的首席开发人员 Scott Kingsley Clark,他是 WordPress 核心中 Fields API 功能项目的主要推动力。 Fields API 提案围绕 WordPress 中的类似问题:我们如何帮助开发者避免一遍又一遍地编写相同的代码?
这就是像 Pods 和 Advanced Custom Fields 这样的工具要解决的问题。它们使开发人员免于在每个项目上从头开始编写相同的自定义文章类型代码、自定义设置屏幕和自定义字段输入。 Scott 指出了他的工作和 WooCommerce 之间的联系,指出许多 Block 绑定 API 的贡献者实际上也是 WooCommerce 的贡献者。
「新的 WooCommerce 产品编辑屏幕由块驱动,」Scott 解释道,「你可以完全看到他们在该功能上的每个版本的发展,因为他们抽象了更多的内容,并开始找到合并的方法,而不是 『每个具体的字段都必须是他们自己的具体块』,这一直在阻碍他们。」
Scott 一直在提供有关 API 的反馈,并正在努力确保 Pods 框架在 3 月 26 日 WordPress 6.5 发布之前准备好了集成。
我还询问了 Advanced Custom Fields 的产品经理 Iain Poulson,未来我们是否会看到 ACF 的自定义字段使用此 API 与核心块连接。
「ACF 团队在过去几个月里一直在密切关注区块绑定 API 的开发,」Iain 说道。 「我们目前正在探索构建我们自己的绑定源,以允许用户使用 ACF 字段值绑定到块属性,并希望很快就能有一个工作原型。」
最初,插件 (如 Pods 和 ACF) 的自定义字段有望直接使用,但一些最后一刻的安全清理意味着任何具有更自定义方法的插件都需要构建与 API 的自己的集成。
「我们注意到今天 WordPress 核心合并了一个 PR,这很可能意味着 ACF 字段将无法在没有此工作的情况下绑定,」Iain 本周早些时候告诉我。 「我们预计 WordPress 未来的版本将发生重大变化,将有新的连接 UI 和从绑定本身更新值的能力,我们非常愿意为 ACF 用户带来所有这些功能,并将与 WordPress 核心团队合作确保我们可以做到。」
了解到主要插件投入到这个新的 API 中是令人兴奋的。这里还重要的是要对 API 的期望保持适度。在将其深度嵌入开发者工作流程之前,还有漫长的路线图和许多实验需要进行。
这是一个没有 UI 的 API 吗?
尽管 WordPress 6.5 版本包含了核心中的区块绑定 API,但我们还不会立即看到此功能的实际用户界面。这仍然是一个 「底层」 功能,但其包含意味着插件和主题开发者可以开始构建在其之上。
在 6.5 中,区块绑定只能以两种方式之一使用,两种方式都涉及少量代码:
- 您可以采用 WordPress 开发者博客中提倡的方法:将区块编辑器切换到 「代码编辑器」 模式,并直接向块 HTML 添加绑定元数据。
- 您可以利用块变体 API,向核心块添加已经包含绑定元数据的版本。这将需要在主题或插件中放置一些 JavaScript,但好处是,一旦进入内容编辑器,您的变体将显示为其自己的块在块插入器中。
当前的实现仅支持四个核心块 (段落、标题、按钮和图像),事实上,这四个块是最常用的内容块之一,并且将构成绝大多数用例,尽管其他块也计划中。对于最终用户来说,这意味着使用此 API 的任何块将与他们已经熟悉的核心块的功能完全相同,这对可用性是一种胜利。
项目的跟踪问题清楚地表明,区块绑定 API 的无代码界面即将推出,一些概念验证示例已经在探索中。通过采用这种以 API 为先的方法,核心团队可以看到功能在实际使用中的情况,然后再决定是否改变区块编辑器,并且在插件团队构建自己的集成时可能会获得一些启发。
如果您是最终用户,您可能暂时不会注意到任何新的东西。但如果您是插件或主题开发人员,现在可能是探索区块绑定 API 并利用这个省时功能的时候了。
发表回复