當(dāng)前位置:首頁(yè)>WordPress資訊>WordPress 6.5 引入塊綁定 API,將動(dòng)態(tài)數(shù)據(jù)引入塊

WordPress 6.5 引入塊綁定 API,將動(dòng)態(tài)數(shù)據(jù)引入塊

隨著塊編輯器不斷發(fā)展其內(nèi)容管理功能,缺乏對(duì)自定義字段的支持一直是用戶和開(kāi)發(fā)人員面臨的主要障礙之一。雖然 WordPress 中的自定義字段仍然被廣泛使用,但在塊編輯器中,它們已被降級(jí)到屏幕底部的抽屜中,并且沒(méi)有像許多人希望的那樣深入集成。隨著即將到來(lái)的塊綁定 API (Block Bindings API),事情將會(huì)以一種非常好的方式發(fā)生改變。

WordPress 6.5 引入塊綁定 API,將動(dòng)態(tài)數(shù)據(jù)引入塊 - Bindings Custom Field Image

什么是塊綁定 API?

解釋 Block Bindings API 的最佳方法之一是從 WooCommerce 這樣的插件開(kāi)始。

想象一下,您正在構(gòu)建 WooCommerce 商店,并且正在使用塊設(shè)計(jì)網(wǎng)站的主頁(yè)。您正在使用查詢循環(huán)來(lái)顯示最受歡迎的產(chǎn)品,這意味著您將要訪問(wèn)的許多塊可能會(huì)提取有關(guān)產(chǎn)品的重要自定義信息 – 產(chǎn)品描述、圖像、圖庫(kù)、添加到購(gòu)物車按鈕、和更多。

現(xiàn)在,WooCommerce 需要為每個(gè)單獨(dú)的內(nèi)容創(chuàng)建和管理單獨(dú)的自定義塊。這是大量的重復(fù)代碼和技術(shù)開(kāi)銷。另外,隨著新的設(shè)計(jì)工具添加到塊編輯器中,開(kāi)發(fā)團(tuán)隊(duì)必須返回每個(gè)版本并確保他們的自定義塊可以正確支持新功能。如果他們可以使用核心塊(例如段落、標(biāo)題或按鈕塊)并告訴 WordPress 將該塊“連接”到產(chǎn)品數(shù)據(jù),這不是更有意義嗎?

這只是塊綁定 API 承諾的一個(gè)示例,自定義字段只是眾多用例之一。一旦奠定了基礎(chǔ),此功能就可以擴(kuò)展到在塊編輯器中相對(duì)難以管理的所有類型的數(shù)據(jù),從填充帖子和站點(diǎn)信息(如作者姓名或特色圖像)到幫助同步模式變得更加強(qiáng)大。

動(dòng)態(tài)數(shù)據(jù)可以節(jié)省時(shí)間和資源嗎?

為了了解有關(guān) Block Bindings API 的更多信息,我聯(lián)系了Pods 框架的首席開(kāi)發(fā)人員以及 WordPress Core 中Fields API 功能項(xiàng)目背后的推動(dòng)者Scott Kingsley Clark 。Fields API 提案圍繞著 WordPress 中的一個(gè)類似問(wèn)題:我們?nèi)绾螏椭_(kāi)發(fā)人員避免一遍又一遍地編寫(xiě)相同的代碼?

這就是 Pod 和高級(jí)自定義字段(Advanced Custom Fields)等工具的出現(xiàn)來(lái)解決的問(wèn)題。它們使開(kāi)發(fā)人員無(wú)需在每個(gè)項(xiàng)目上從頭開(kāi)始編寫(xiě)相同的自定義帖子類型代碼、自定義設(shè)置屏幕和自定義字段輸入。Scott 將他的工作與 WooCommerce 聯(lián)系起來(lái),指出 Block Binding API 的許多貢獻(xiàn)者實(shí)際上也是 WooCommerce 的貢獻(xiàn)者。

“新的 WooCommerce 產(chǎn)品編輯屏幕由 Blocks 提供支持,”Scott 解釋道,“您完全可以看到他們?cè)谠摴δ苌习l(fā)布的版本的進(jìn)展,因?yàn)樗麄兂橄罅烁鄡?nèi)容并開(kāi)始尋找整合的方法,相反‘每個(gè)特定領(lǐng)域都必須是他們自己的特定塊’,這一直阻礙著他們。”

Scott 一直在提供有關(guān) API 的反饋,并致力于確保 Pods 框架在 3 月 26 日發(fā)布 WordPress 6.5 之前做好集成準(zhǔn)備。

我還詢問(wèn)高級(jí)自定義字段(Advanced Custom Fields)產(chǎn)品經(jīng)理 Iain Poulson ,我們將來(lái)是否可能會(huì)看到 ACF 的自定義字段使用此 API 連接到核心塊。

“在過(guò)去的幾個(gè)月里,ACF 團(tuán)隊(duì)一直在密切關(guān)注 Block Bindings API 的開(kāi)發(fā),”Iain 說(shuō)。“我們目前正在探索構(gòu)建自己的綁定源,以允許用戶使用 ACF 字段值綁定到塊屬性,并希望很快就能有一個(gè)工作原型。”

最初,Pods 和 ACF 等插件的自定義字段可能可以開(kāi)箱即用,但最后一刻的安全清理意味著任何具有更多自定義方法的插件都需要構(gòu)建自己的與 API 的集成。

“我們知道今天有一個(gè) PR 合并到了 WordPress 核心中,這可能意味著如果沒(méi)有這項(xiàng)工作,ACF 字段將無(wú)法綁定,”Iain 本周早些時(shí)候告訴我。“我們預(yù)計(jì) WordPress 的未來(lái)將會(huì)發(fā)生重大變化,新的連接 UI 以及從綁定本身更新值的能力,我們希望為 ACF 用戶帶來(lái)所有這些功能,并將與 WordPress 合作核心團(tuán)隊(duì)確保我們可以。”

令人興奮的是,主要的插件都投資于這個(gè)新的 API。這里同樣重要的是調(diào)節(jié)對(duì) API 的期望。在我們看到它深深嵌入開(kāi)發(fā)人員工作流程之前,需要進(jìn)行漫長(zhǎng)的路線圖和大量的實(shí)驗(yàn)。

這是一個(gè)沒(méi)有 UI 的 API?

盡管 WordPress 6.5 版本在核心中包含了 Block Bindings API,但我們還不會(huì)看到此功能的實(shí)際用戶界面。這仍然是一個(gè)“幕后”功能,但它的包含意味著插件和主題開(kāi)發(fā)人員可以開(kāi)始在其基礎(chǔ)上進(jìn)行構(gòu)建。

在 6.5 中,塊綁定只能使用兩種方式之一,這兩種方式都涉及少量代碼:

  1. 您可以采用WordPress 開(kāi)發(fā)者博客中提倡的方法:將塊編輯器切換到“代碼編輯器”模式,并將綁定元數(shù)據(jù)直接添加到塊 HTML。
  2. 您可以利用Block Variations API添加已包含綁定元數(shù)據(jù)的核心塊版本。這需要在主題或插件中放置一些 JavaScript,但好處是一旦您進(jìn)入其中,它就會(huì)“正常工作”內(nèi)容編輯器,因?yàn)槟淖凅w在塊插入器中顯示為其自己的塊。

當(dāng)前的實(shí)現(xiàn)僅支持四個(gè)核心塊(段落、標(biāo)題、按鈕和圖像),事實(shí)是這四個(gè)塊是最常用的內(nèi)容塊,并且將構(gòu)成絕大多數(shù)用例,盡管其他塊是計(jì)劃。對(duì)于最終用戶來(lái)說(shuō),這意味著使用此 API 的任何塊的功能都將與他們已經(jīng)熟悉的核心塊完全相同,這是可用性的勝利。

該項(xiàng)目的跟蹤問(wèn)題清楚地表明,塊綁定 API 的無(wú)代碼接口即將推出,并且已經(jīng)探索了一些概念驗(yàn)證示例。通過(guò)采用這種 API 優(yōu)先的方法,核心團(tuán)隊(duì)可以在塊編輯器中進(jìn)行更改之前了解該功能是如何在野外使用的,并且可能會(huì)在插件團(tuán)隊(duì)構(gòu)建自己的集成時(shí)獲得一些靈感。

如果您是最終用戶,您可能還沒(méi)有注意到任何新內(nèi)容。但如果您是插件或主題開(kāi)發(fā)人員,可能是時(shí)候探索一下 Block Bindings API 并看看您是否無(wú)法利用這一節(jié)省時(shí)間的功能。

繼續(xù)閱讀:WordPress 6.5 新增的塊綁定 API 使用示例

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
WordPress資訊

Gutenberg 17.8 增強(qiáng)網(wǎng)格塊布局、支持批量導(dǎo)出樣板

2024-2-29 12:45:45

WordPress資訊

WordPress 6.5 引入插件依賴關(guān)系,對(duì)開(kāi)發(fā)者更友好了

2024-3-5 19:21:19

0 條回復(fù) A文章作者 M管理員
    暫無(wú)討論,說(shuō)說(shuō)你的看法吧
?
個(gè)人中心
購(gòu)物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

西藏| 将乐县| 峡江县| 屏边| 铁力市| 商城县| 高邑县| 砚山县| 婺源县| 南川市| 榕江县| 繁昌县| 册亨县| 峨眉山市| 潜山县| 吉木萨尔县| 涟源市| 安福县| 灵武市| 南部县| 兴仁县| 长治市| 沐川县| 措勤县| 荆州市| 平山县| 汝州市| 武强县| 常宁市| 和田县| 信丰县| 神木县| 文成县| 兴业县| 察哈| 浦县| 克什克腾旗| 汉源县| 承德县| 勃利县| 尚义县|