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




發表回覆