基於塊的小部件準備好登陸 WordPress 5.6 了嗎?

已發表: 2020-10-14

兩週前,Gutenberg 團隊公開徵集基於塊的小部件反饋。 9 月初,我已經對新系統進行了長篇評論,但團隊成員要求我分享我對最近一次迭代的想法。 距離 WordPress 5.6 Beta 1 即將凍結僅一周之遙,我認為再次深入研究不會有什麼壞處。

作為參考,我最新的測試是針對 Gutenberg 插件的 9.2.0-alpha-172f589 版本,該插件是今天早些時候構建的。 古騰堡發展迅速,但一切都應該準確到這一點。

歸根結底,我一個多月前指出的許多問題仍然存在。 但是,團隊已經清理了大部分小問題,例如將側邊欄(塊區域)的打開/關閉箭頭指向正確的方向,並使其與後期編輯屏幕更加一致。 用戶界面更加精緻。

在深入探討所有問題之前,我想回答我提出的問題。 是的,當 WordPress 5.6 登陸時,基於塊的小部件系統準備好迎接黃金時間。 目前還沒有,但在接下來的兩個月裡,已經有一個明確的終點線了。

我將忽略定制器中基於塊的小部件的失敗,它在 Gutenberg 8.9 中登陸並在 9.1 中被刪除。 我還將回顧最近提出的重建小部件屏幕以使用自定義 API 的提議,至少目前是這樣。 對於定制器來說,基於塊的小部件存在大量問題,而這些問題對於 WordPress 5.6 來說是無法克服的。 從長遠來看,WordPress 需要有一個地方來編輯小部件/塊區域。 用戶可能不得不忍受一些不一致的情況一段時間。

假設團隊沒有嘗試在最後一刻投擲冰雹瑪麗並在本輪定制器中實現對塊的完整編輯,可以肯定地說,基於塊的小部件正在朝著成功的 WordPress 5.6 首次亮相邁進。

用戶體驗

將小部件添加到古騰堡的小部件編輯屏幕。
基於塊的小部件屏幕。

作為用戶,我真的很喜歡使用新的 Widgets 管理屏幕。 開放式、自由形式的塊區域為設計我的 WordPress 網站創造了無數的可能性。 傳統小部件的範圍有限。 用戶被束縛到少數核心小部件,可能是一些插件小部件,以及他們的主題作者提供的任何東西。 但是,對於塊,選擇池擴展到至少三倍的開箱即用選項(我沒有單獨計算嵌入類型塊)。 此外,塊提供了比傳統小部件更廣泛的設計選項集。

相比之下,傳統的小部件已經過時了。 積木幾乎在所有方面都優越。 但是,這個新系統仍然存在問題。

目前最大的問題是最終用戶可以在不保存更改的情況下退出小部件屏幕。 沒有任何警告讓他們知道他們所有的工作都將消失在以太中。 這是在 WordPress 5.6 下降之前需要發生的那些OMGBBQ級別的項目之一。

一個不錯但不是必需的功能是將塊從一個塊區域拖到另一個塊區域的能力。 在舊的小部件系統中,用戶可以將小部件從側邊欄移動到側邊欄。 當前的替代方法是複制一個小部件,將其粘貼到新的塊區域,然後刪除原始小部件。

我也不喜歡沒有頂部工具欄的選項,它在後期編輯屏幕上可用。 使用此工具欄的原因之一是因為我不喜歡單個塊上的默認彈出工具欄。 它讓人分心,並且經常妨礙我的工作。

舊版小部件似乎仍在進行中。 Legacy Widget 塊有時對我根本不起作用。 然後,它神奇地開始起作用。 但是,Gutenberg 現在確實會自動將已註冊的第三方小部件添加到塊插入器中,就像它們是塊一樣。

將第三方遺留小部件插入古騰堡的小部件系統。
讓插件的小部件工作。

這提出了自己的問題。 我設法使第三方插件小部件工作的唯一方法是插入小部件,保存並刷新小部件屏幕。 那時,小部件出現並變得可編輯。

主題作者體驗

我現在對主題作者最大的擔憂之一是塊編輯器手冊中似乎沒有任何文檔。 有足夠的時間來實現這一點,但是主題作者需要注意一些事情。 即使功能正在開發中,擁有一個集中位置也將幫助他們為 5.6 版本做好準備。

其中一些問題(可能會在各種 Make 博客文章中得到解答)應該存在於專門的文檔頁面上:

  • 主題如何選擇退出基於塊的小部件?
  • 為小部件屏幕添加自定義樣式的鉤子是什麼?
  • 主題可以針對小部件屏幕上的特定側邊欄樣式嗎?
  • 是否可以像前端的傳統小部件一樣對部分進行一致的樣式設置?
  • 主題是否可以在塊區域內選擇廣泛和完全對齊,這基本上可以類似於帖子內容區域使用?

這些是我作為前主題作者想要回答的一些問題。 我不再沉迷於主題設計遊戲,並認為那些人會有更多的問題。

一份不太明顯的文檔應該集中在如何處理後備或默認小部件上。 傳統上,需要顯示一組默認小部件的主題會檢查側邊欄是否有小部件並回退到使用the_widget()來輸出一個或多個默認值。 雖然主題作者仍然可以這樣做,但我們應該開始將它們全面過渡到塊系統。

主題作者是否應該複製/粘貼阻止 HTML 作為後備? 初學者內容系統是否會對此更好,並且初學者小部件內容可以處理塊嗎? WordPress 5.6 中小部件回退的推薦方法是什麼?

在新的塊範式中,主題作者應該如何處理傳統的小部件和小部件標題包裝 HTML 仍然是一個持續存在的問題。 自 Gutenberg 9.1 版本以來添加的一個補丁使用小部件包裝器包裝每個頂級塊。 如果這在 9.2 版本中出現,它可能會使問題變得更糟。

在傳統系統中,小部件標題和內容都包裝在一個容器中。 但是,如果用戶添加一個 Heading 塊(小部件標題)和另一個塊(小部件內容),則每個塊都使用主題的小部件包裝器單獨包裝。 糾正這種情況的唯一方法是最終用戶為他們想要的每個“小部件”添加一個組塊,這需要對 WordPress 用戶進行大量的再教育。 這不是一個理想的場景。

Gutenberg 中不正確的小部件包裝器 HTML 的實時和代碼視圖。
每個塊都包裝為一個單獨的部分。

與其嘗試直接“修復”這個問題,WordPress 應該對輸出不做任何事情。 塊和傳統的小部件是根本不同的。

讓主題作者掌握這一點並探索可能性。 但是,為他們提供這樣做的工具,例如支持塊模式。