从站点编辑器看到的WordPress主题-Blockbase
任何构建和维护有价值的主题的WordPress公司已经至少做了一些初步工作,因为WordPress越来越接近捆绑其即将推出的区块主题系统。Automattic的主题团队也不例外。Ben Dwyer昨天在Theme Shaper博客上宣布了团队的新的Blockbase父主题。它包括对全局样式和区块模板的支持。
该主题基于Automattic于1月份推出的经典的、区块编辑器就绪的Blank Canvas项目。直到几天前,它甚至被命名为Blank Canvas Blocks。在过去的几个月里,我一直在跟踪该团队的工作,等待Blockbase和Mayland Blocks,一个基于团队最初的Mayland的子主题,是如何出现的。
该团队建立了一个全面的系统,可以防止他们在每次发生变化时对他们为WordPress.com创建的每个区块主题进行彻底检查。对于尚未涉足区块主题池的主题作者来说,这可能也是他们需要的起点。
一些区块主题设计师的圣杯将创建一个仅包含theme.json
文件的项目。目标:让WordPress通过设置和样式配置生成所有CSS。所有主题作者都不可能通过这种方式实现他们的设计目标——大多数人至少需要一些自定义 CSS。而且,这样的目标是否是一件好事还有待观察。
尽管如此,主题设计的未来将依赖于JSON配置和生成的样式。Blockbase利用该系统为其最终的子主题创建一组标准化的路标。这确保了创作者不会随着区块样式的快速发展而不断更新他们的主题。
Blockbase充当了当前可以通过theme.json
文件配置的内容与将来可能实现的内容之间的桥梁。
它是区块的现代Underscores (_s) ,WordPress 主题设计社区将需要这样一个项目向前发展。他们需要一个起点和教育工具,而Blockbase明显就是这样的一个工具。
在最新版本的古腾堡插件只涵盖的是什么,最终,WordPress会在未来数月和数年处理一小部分。但是,它确实允许主题作者通过settings.custom
密钥添加自定义设置,创建自己的CSS变量,这些变量会自动输出到站点的头部。主题团队利用此功能发挥了优势。在Gutenberg当前不支持设置的情况下,Blockbase 有一个自定义theme.json
参数。然后主题在其样式表中使用生成的 CSS 变量。由于 Gutenberg 和 WordPress 最终支持更多这些设置,团队可以简单地删除不需要的代码。
这个主题并非完全没有意见。Dwyer 写道:“Blockbase 旨在代表我们认为最终应该存在于 Global Styles 中并可由用户配置的所有主题样式设置。” 随着系统的不断完善,区块主题的发展仍然可能以意想不到的方式发生变化,主题也需要随之改变。应该预料到路上的颠簸。
这是一个即将成为和当前区块主题者可以学习的项目。虽然目前可以通过 GitHub 获得,但 Dwyer 表示,如果有足够的兴趣,团队可以研究将其制作为 npm 包。
该主题所做的最独特的事情之一是theme.json
通过PHP使用设置。在Blockbase的functions.php
文件中,它会提取在JSON文件中注册的字体系列名称。然后它会自动从Google Fonts API加载它们关联的样式表。虽然它没有记录在代码中(应该是),但我有根据的猜测,目标是允许子主题作者在他们自己的theme.json
文件中声明字体并让Blockbase处理加载。
代码比较简单,重要的是技术。
随着开发人员努力应对WordPress主题架构不断变化的性质,他们需要为之前在纯PHP世界中解决的一些老问题找到新的解决方案。随着大多数主题配置转移到JSON和模板转移到HTML,很容易感觉他们正在失去PHP的动态特性。这是可靠的东西,开发人员花了数年时间围绕旧的WordPress磨练自定义系统。
新的WordPress提供了一套更强大的开箱即用的设计工具,但它看起来有点陌生。这就是为什么查看其他人如何处理这些功能的真实代码示例是将更多主题作者过渡到基于区块的开发的重要一步。
这可能是一个小小的代码采样,但我被聪明的想法所折服。在我进一步了解块主题如何工作的过程中,我经常发现自己碰壁,与系统作斗争。此代码适用于它而不是针对它。
我不经常为一个仅跨越 21 行代码的函数写几段文字,但我仍然是一名开发人员,喜欢看到优雅简单的解决方案。这与字体加载技术无关;它是关于解决问题。毫无疑问,此代码将在未来几年内被复制数千次,并进行修改以供数千次使用。如果您是主题开发人员,但还没有看到,则可以。
评论留言