WordPress 插件作者在命名塊時應避免混淆用戶
已發表: 2020-09-045 月 4 日,StudioPress 開發團隊對其 Atomic Blocks 插件(現在更名為 Genesis Blocks)進行了一個小而重要的面向用戶的更改。 它從其塊標題中刪除了“AB”品牌。 這個小更新將塊標題(例如 AB Accordion 和 AB Button)分別更改為 Accordion 和 Button。 從表面上看,這種變化可能對項目的開發人員影響不大。 但是,對於至少一個用戶來說,它產生了巨大的工作量。
除非用戶虔誠地遵循 GitHub 代碼提交,否則他們將錯過此更新。 與其他幾個看似無關的票證的代碼更改堆疊在一起,該團隊留下了一條消息,上面寫著:“從塊標題中刪除不必要的'AB'。”
該更改使其成為插件的 2.8.2 版本,該插件在一天后推出。
問題是更改日誌中沒有消息指出這一點。 用戶沒有跡象表明插件中的塊正在被重命名。 通常,這沒什麼大不了的,因為插件團隊只是從其他未更改的標題中刪除了“AB”前綴。 但是,當其中一個塊的標題與核心塊標題匹配時會發生什麼?
這就是 Marcus Tibesar 遇到的問題。 AB Button 塊突然變成了 Button 塊。 認為他正在使用核心 WordPress 按鈕,他在整個網站上自由地使用它。 在 StudioPress 將其插件更名為 Genesis Blocks 後,他決定放棄該插件,清理起來有點災難。
“幾個月來我一直在使用 Button 塊,結果發現我實際上在使用 Atomic Blocks 按鈕塊!” Tibesar 在對 Atomic Blocks 更名帖子的評論中寫道。
從理論上講,他應該只需要更新他故意使用的原子塊中的任何揮之不去的塊。 但是,他被困在了他無意中添加到他的帖子和頁面中的塊中,這並不是他自己的過錯。
這種特殊情況變得更糟,因為 3 月 31 日發布的 WordPress 5.4 引入了一個新的 Buttons(複數)塊。 舊的單個按鈕塊已從普通插入器中刪除。 雖然並非所有的塊命名問題都如此復雜,但它仍然引出了一個問題:插件作者如何避免導致這些類型的用戶體驗問題?
很容易將責任歸咎於 StudioPress——團隊可能會因為在變化發生時不清楚變化而受到責備。 然而,這帶來了一些更大的 WordPress 社區需要弄清楚的事情。 首先是插件作者是否需要為其塊使用一致的前綴命名方案。 第二個是 WordPress 可以做些什麼來幫助緩解問題。
前綴所有的東西

這是 WordPress 開發界的普遍說法,對吧? 前綴和命名空間準則通常適用於實際代碼,這是發生衝突的地方。 但是,有時需要為面向公眾的文本添加前綴。

那些時候是插件利用共享空間的時候。
塊編輯器就是這樣一種共享空間。 隨著越來越多的塊插件登陸目錄,是時候插件作者考慮塊命名方案如何影響最終用戶了。 這個問題當然不限於原子/創世塊。 這是幾個塊庫插件的持續趨勢。 有些人比其他人做得更好,但每次用戶安裝這樣的插件時都是一個折騰。
最簡單的方法是插件作者只需在所有自定義塊前面加上他們的公司品牌(例如,AB 按鈕)。 另一方面,並非每個區塊都與其中一個核心區塊共享一個標題。 例如,標題為 Product Carousel 的塊可能不需要進一步將自己與其他塊區分開來。 最終用戶不太可能使用具有相同標題的塊運行多個電子商務插件。
“所有,重複所有,應該有一個前綴,”Tibesar說。 “前綴消除了我們用戶選擇核心區塊還是第三方區塊的任何混淆。 最受歡迎的插件出現在列表的頂部,如果沒有前綴,它們是從哪裡來的,令人困惑。”
至少,如果第三方塊的標題與核心塊之一匹配,則它們應該有一個前綴。 例如,最終用戶不應在塊插入器中看到兩個不同的 Cover 塊。 相反,他們應該看到核心封面和第二個唯一標題的塊。 前綴是一種簡單的方法。 但是,我可以忍受任何不會引起用戶混淆的東西。
定位塊使用實例

2019 年底,Gutenberg 團隊為 WordPress 管理員發布了第一個潛在的塊管理區域原型。 原型中的“管理塊”屏幕展示了一個區域,允許用戶管理其站點上的每個塊。 這個屏幕上更重要的信息之一是“實例”計數,它顯示了一個塊被使用的次數。 它進一步鏈接到一個屏幕,每個帖子都有一個特定的塊。
此功能重要的原因之一是它允許最終用戶找到他們可能想要清理的帖子。 以 Atomic/Genesis Button 塊為例,Tibesar 可以追踪所有這些舊用途並進行他想要的任何更改。
他說他絕對會歡迎 WordPress 中的這個功能。 “新用戶很想加載數以萬計的塊插件,這些插件後來都被遺忘了。 此外,維護人員在清理損壞的站點時會使用此工具。 僅僅能夠查看在哪裡使用了哪些塊的概覽,將允許發布者回撥其網站上安裝的塊插件的數量,尤其是當新插件和技術出現時。”
因為這個功能還不是核心,他不得不求助於 Find My Blocks 插件,該插件幫助他識別了 22 個帖子和頁面,在這些帖子和頁面中他在不知不覺中使用了 Atomic/Genesis Blocks 中的 Button 塊。 從長遠來看,這是需要在 WordPress 中直接處理的事情。 這不太可能是用戶最後一次需要打掃房子並擺脫舊塊。
