WordPress 插件作者在命名块时应避免混淆用户

已发表: 2020-09-04

5 月 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 块。 相反,他们应该看到核心封面和第二个唯一标题的块。 前缀是一种简单的方法。 但是,我可以忍受任何不会引起用户混淆的东西。

定位块使用实例

WordPress 的管理块屏幕原型的屏幕截图。
管理块屏幕。

2019 年底,Gutenberg 团队为 WordPress 管理员发布了第一个潜在的块管理区域原型。 原型中的“管理块”屏幕展示了一个区域,允许用户管理其站点上的每个块。 这个屏幕上更重要的信息之一是“实例”计数,它显示了一个块被使用的次数。 它进一步链接到一个屏幕,每个帖子都有一个特定的块。

此功能重要的原因之一是它允许最终用户找到他们可能想要清理的帖子。 以 Atomic/Genesis Button 块为例,Tibesar 可以追踪所有这些旧用途并进行他想要的任何更改。

他说他绝对会欢迎 WordPress 中的这个功能。 “新用户很想加载数以万计的块插件,这些插件后来都被遗忘了。 此外,维护人员在清理损坏的站点时会使用此工具。 仅仅能够查看在哪里使用了哪些块的概览,将允许发布者回拨其网站上安装的块插件的数量,尤其是当新插件和技术出现时。”

因为这个功能还不是核心,他不得不求助于 Find My Blocks 插件,该插件帮助他识别了 22 个帖子和页面,在这些帖子和页面中他在不知不觉中使用了 Atomic/Genesis Blocks 中的 Button 块。 从长远来看,这是需要在 WordPress 中直接处理的事情。 这不太可能是用户最后一次需要打扫房子并摆脱旧块。