隨着區塊編輯器不斷發展其內容管理能力,對自定義字段的支持不足已成為用户和開發者的主要障礙之一。雖然 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 並利用這個省時功能的時候了。
發表回覆