Gutenberg 12.9 今天發(fā)布,這是一個(gè)強(qiáng)大的版本,為每個(gè)人都提供了一些東西。即使在過去幾天對新功能進(jìn)行了修補(bǔ)之后,我還沒有盡可能多地探索所有內(nèi)容。鑒于時(shí)間的實(shí)際限制,我將無法深入探討這篇文章中的所有內(nèi)容,但我會(huì)嘗試向大家介紹一些亮點(diǎn)。
以下是一些我無法深入研究的精選項(xiàng)目,但我仍然鼓勵(lì)讀者查看:
- 所選顏色的名稱現(xiàn)在出現(xiàn)在顏色選擇器中。
- 用戶現(xiàn)在可以從建議的日期格式列表中進(jìn)行選擇,或者為發(fā)布日期塊添加自定義格式。這些是國際化的,因此建議將是特定于語言環(huán)境的。
- 當(dāng)查詢沒有返回帖子時(shí),主題可以將塊添加到無結(jié)果容器塊。
- 標(biāo)簽云 Tag Cloud 塊現(xiàn)在具有最小和最大尺寸控件。
- 分隔塊支持較新的顏色控制,允許用戶選擇透明顏色。
塊鎖定用戶界面

Gutenberg 12.9 引入了用于鎖定塊的新 UI。在工具欄中的“更多選項(xiàng)”下拉菜單中,用戶可以選擇鎖定選項(xiàng),這將彈出一個(gè)包含兩個(gè)選項(xiàng)的屏幕:
- 禁止移動(dòng):禁止移動(dòng)方塊本身。但是,兄弟塊可以在它周圍移動(dòng)。
- 防止刪除:防止塊被刪除。
Andrei Draganescu 在12.9 公告帖子中指出以下內(nèi)容:
當(dāng)一個(gè)塊被鎖定時(shí),用戶要么不能移動(dòng)它,要么不能移除它,或者兩者兼而有之。這對于站點(diǎn)級別的塊特別有用,例如許多主題想要鎖定的文章內(nèi)容。
但是,該定義并未完全解釋塊級鎖定。有一個(gè)警告:這個(gè)新的 UI 將鑰匙交給最終用戶。從技術(shù)上講,他們已經(jīng)通過代碼編輯器擁有此功能,但現(xiàn)在可以通過界面使用。
從主題開發(fā)的角度來看,塊級鎖定只需要用戶額外的步驟來移動(dòng)和/或刪除塊。它不是“強(qiáng)制”或“永久”鎖定。這是一個(gè)受歡迎的功能,但用戶應(yīng)該了解它的局限性,并且這個(gè)新 UI 為用戶提供了更多的功能。
對畫廊的塊間隙支持……有點(diǎn)

在此版本中,我最興奮的一項(xiàng)功能是增加了對畫廊圖像之間間距的支持。主題作者依靠專門的塊樣式為用戶提供選擇,通常僅限于默認(rèn)和“無間隙”選項(xiàng)。后者將刪除圖像之間的任何間距。
不幸的是,當(dāng)用戶手動(dòng)設(shè)置間隙時(shí),該功能在 12.9 中被破壞。檢查源代碼,它正在輸出一個(gè)Array而不是有效的 CSS。在前端,將顯示以下警告:
Warning: preg_match() expects parameter 2 to be string, array given in ...wp-content/plugins/gutenberg/build/block-library/blocks/gallery.php on line 51
我相信這將在 12.9.1 中得到糾正。在那之前,我建議不要使用“塊間距”控件。
主題作者警告:這是針對--gallery-block--gutter-size以控制畫廊默認(rèn)間隙為目標(biāo)的主題的重大更改。這個(gè)以前可靠的 CSS 自定義屬性不再存在于代碼中。不清楚為什么這個(gè)變量被完全刪除,工單中也沒有提到它。
一個(gè)新--wp--style--unstable-gallery-gap變量似乎做了類似的工作。但是,正如unstable其名稱的一部分所暗示的那樣,它可能并不總是存在。它也在.wp-container-*類而不是畫廊本身上定義。我還沒有做足夠的 CSS 測試來弄清楚如何為默認(rèn)間隙覆蓋它。如果有人有解決方案,請將其發(fā)布在評論中以供其他人使用。
列表視圖中默認(rèn)折疊的子項(xiàng)

對于大多數(shù)實(shí)際場景,我經(jīng)常回避編輯器中的列表視圖,至少對于具有許多嵌套塊的頁面。在默認(rèn)情況下打開每個(gè)級別,瀏覽和定位特定塊有點(diǎn)像噩夢。在內(nèi)容畫布中四處點(diǎn)擊會(huì)更容易。
然而,最新的古騰堡版本可能只是改變了我對它的使用。12.9 版默認(rèn)折疊所有子塊。
主題的自動(dòng)樣板注冊
主題作者現(xiàn)在可以讓 Gutenberg為他們處理樣板注冊。他們只需要遵循一些規(guī)則:
- 在
/patterns文件夾的PHP文件中添加塊樣板。 - 將樣板數(shù)據(jù)添加到文件頭。
- 添加樣板內(nèi)容。
單個(gè)樣板文件應(yīng)如下所示:
<?php
/**
* Title: A Pattern Title
* Slug: namespace/slug
* Description: A human-friendly description.
* Viewport Width: 1024
* Categories: comma, separated, values
* Keywords: comma, separated, values
* Block Types: comma, separated, values
* Inserter: yes|no
*/
?>
<!-- some-block-content /-->
只有Title和Slug標(biāo)頭字段是必需的。每個(gè)選項(xiàng)都匹配一個(gè)register_block_pattern()函數(shù)參數(shù)。
現(xiàn)在想要使用此功能但提供與 WordPress 5.9 向后兼容性的主題作者可以檢查該gutenberg_register_theme_block_patterns()功能是否存在。至少這是目前的函數(shù)名稱。
此更改進(jìn)一步建立在塊主題的現(xiàn)有標(biāo)準(zhǔn)之上。作者現(xiàn)在對通過標(biāo)準(zhǔn)文件和文件夾注冊大多數(shù)功能有了明確的指導(dǎo)方針:
/parts– 塊模板部分/patterns– 塊樣板/styles– 全局樣式變化/templates– 塊模板theme.json– 全局設(shè)置和樣式
除了自定義塊樣式和變體(不要與全局樣式變體混淆)之外,幾乎涵蓋了所有內(nèi)容。這個(gè)全面的集合降低了未來主題作者的進(jìn)入門檻。即使是經(jīng)驗(yàn)豐富的開發(fā)人員也應(yīng)該欣賞事物命名和放置位置的簡單性。這是一件少擔(dān)心的事情。它還將繼續(xù)簡化 WordPress.org 主題審查系統(tǒng)。
主題導(dǎo)出和模板構(gòu)建
說到降低障礙,創(chuàng)作者現(xiàn)在可以從網(wǎng)站編輯器構(gòu)建整個(gè)主題。好吧,假設(shè)它們從現(xiàn)有的塊主題開始。
Gutenberg 12.9 為站點(diǎn)構(gòu)建過程引入了兩個(gè)重要功能。第一個(gè)允許用戶直接從編輯器導(dǎo)出其活動(dòng)主題的副本:

從此導(dǎo)出下載的 ZIP 文件是一個(gè)功能齊全的主題。它包括所有用戶自定義以及原始文件中已經(jīng)存在的每個(gè)文件。
編輯器仍有一些事情無法實(shí)現(xiàn),這些需要在公開發(fā)布之前手動(dòng)調(diào)整。中的主題名稱和其他數(shù)據(jù)style.css將保持與原始主題相同。也沒有辦法獲取自定義版本的屏幕截圖并將其捆綁在 ZIP 中。
這是民主化設(shè)計(jì)的飛躍,但需要考慮其他流程。用戶應(yīng)該能夠僅將其自定義內(nèi)容導(dǎo)出為子主題,甚至可以導(dǎo)出為*.json文件(全局樣式變體)。
但是,還有一個(gè)更直接和實(shí)際的用例。用戶可以下載他們定制的主題并將它們上傳到另一個(gè)站點(diǎn)。
站點(diǎn)編輯器中的第二個(gè)關(guān)鍵開發(fā)更新是對更多模板的支持。除了現(xiàn)有的模板管理面板之外,用戶現(xiàn)在還可以從模板管理面板創(chuàng)建以下內(nèi)容;
- 作者
- 類別
- 日期
- 標(biāo)簽
- 分類法

新模板是受歡迎的補(bǔ)充,但模板創(chuàng)建功能仍然有限制。無法通過 UI 對這些模板創(chuàng)建變體,例如category-wordpress、taxonomy-genre或其他許多可能性。然而,總有一天會(huì)發(fā)生。
要了解 Gutenberg 12.9 的更多信息,請看官方日志。
注:文本內(nèi)容來自 wptavern.com,由 WordPress大學(xué) 翻譯整理。




