基于块的小部件准备好在 WordPress 5.6 中登陆了吗?

两周前,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 网站创造了无限的可能性.传统小部件的范围有限.用户只能使用少数核心小部件,可能是一些插件小部件,以及他们的主题作者提供的任何内容.但是,对于块,选择池扩展到至少是开箱即用选项的三倍(我没有单独计算嵌入类型的块).此外,块提供了比传统小部件更广泛的设计选项集.

相比之下,传统的小部件已经过时了.块几乎在所有方面都优越.但是,这个新系统仍然存在问题.

目前最大的问题是最终用户可以在不保存更改的情况下退出小部件屏幕.没有任何警告让他们知道他们所有的工作都将在以太中丢失.这是OMGBBQ级别的项目之一,需要在 WordPress 5.6 发布之前发生.

一个很好但不是必需的功能是能够将块从一个块区域拖到另一个区域.在旧的小部件系统中,用户可以将小部件从侧边栏移动到侧边栏.当前的替代方法是复制一个小部件,将其粘贴到新的块区域中,然后移除原来的.

我也不喜欢没有顶部工具栏选项,该选项可在后期编辑屏幕上使用.使用此工具栏的原因之一是我不喜欢单个块上的默认弹出工具栏.它会分散我的注意力并经常妨碍我的工作.

传统小部件似乎仍在开发中.Legacy Widget 块有时对我来说根本不起作用.然后,它神奇地开始工作.但是,Gutenberg 现在会自动将注册的第三方小部件添加到块插入器中,就像它们是块一样.

让插件的小部件工作.

这带来了它自己的问题.我设法使第三方插件小部件工作的唯一方法是插入小部件、保存和刷新小部件屏幕.此时,小部件出现并变得可编辑.

主题作者体验

我现在对主题作者最大的担忧之一是块编辑器手册中似乎没有任何文档.有足够的时间来实现这一点,但主题作者需要注意一些事情.拥有一个集中的位置,即使该功能正在开发中,也有助于他们为 5.6 版本做好准备.

其中一些问题可能会在各种 Make 博客文章中得到解答,应该存在于专门的文档页面上:

  • 主题如何选择退出基于块的小部件?
  • 为小部件屏幕添加自定义样式的挂钩是什么?
  • 主题是否可以针对特定的侧边栏小部件屏幕上的样式?
  • 是否可以像前端的传统小部件一样对部分进行一致的样式设置?
  • 主题是否可以在块区域内选择宽对齐和完全对齐,这可以本质上与帖子内容区域类似?

这些是我作为前主题作者想要回答的一些问题.我不再沉迷于主题设计游戏,并假设那些人会有更多的问题.

一个不太明显的文档应该集中在如何处理回退或默认小部件上.传统上,需要显示一组默认小部件的主题会检查侧边栏是否有小部件,然后回退到使用 the_widget() 输出一个或多个默认值.虽然主题作者仍然可以这样做,但我们应该开始将它们全面过渡到块系统.

主题作者是否应该复制/粘贴阻止 HTML 作为后备?初学者内容系统是否会更好,并且初学者小部件内容可以处理块吗? WordPress 5.6 中小部件回退的推荐方法是什么?

主题作者应该如何处理新块范例中的传统小部件和小部件标题包装 HTML 的问题仍然存在.自古腾堡 9.1 版本以来添加的一个补丁用小部件包装器包装每个顶级块.如果这出现在 9.2 版本中,可能会使问题变得更糟.

在传统系统中,小部件标题和内容都包装在一个容器中.但是,如果用户添加了一个 Heading 块(小部件标题)和另一个块(小部件内容),则每个块都用主题的小部件包装器单独包装.纠正这种情况的唯一方法是让最终用户为每个"小部件"添加一个组块.他们想要,这需要对 WordPress 用户进行大量的再教育.这不是一个理想的场景.

每个块都被包装成一个单独的部分.

而不是尝试直接"修复"这个问题,WordPress 应该对输出不做任何事情.块和传统的小部件有着根本的不同.

让主题作者掌控这一主题并探索各种可能性.但是,请为他们提供这样做的工具,例如支持块模式.

5

发表回复