建议的基于块的 WordPress 主题的初始文档

已发表: 2019-12-05

在昨天对古腾堡存储库的拉取请求中,Riad Benguella 创建了一个初始文档,概述了基于块的 WordPress 主题如何工作。 虽然该文档只是对话的起点,但它是一组可能永远重塑 WordPress 格局的想法。 这是范式转换。

主题作者第一次可以窥见他们的未来。 自古腾堡成立以来,许多人都要求提供更多技术细节。 特别是,他们想知道主题是否会简化为一个样式表或一个样式表和几个 PHP 文件。 主题在建筑上会是什么样子? 主题会存在吗?

该文件虽然对更改开放,但对未来的主题结构提出了强有力的说明。 很明显,该提案已深思熟虑。 它与古腾堡已经启动的实验性站点编辑功能的方向相匹配。 尽管它可能会发生变化,但总体想法似乎已经确定了。 文字早就挂在墙上了。 现在每个人都可以看到墙壁。 缺少的部分是弄清楚如何将这个想法变为现实。

什么是全站编辑?

在了解未来主题如何运作之前,您必须首先了解古腾堡的发展方向。 Gutenberg 以及最终的 WordPress 的最终目标是让用户能够通过块系统自定义其网站的各个方面。 目前,块系统主要处理编辑帖子内容。

要进行全站点编辑,有关站点的每条动态数据都必须是一个块。 例如,站点标题栏必须作为站点标题的占位符存在。 用户应该能够将其放置在他们希望输出标题的任何位置,例如在标题中。

这给主题作者留下了一个合理的问题:如果用户可以将这些块移动到任何地方,那么主题在哪里适合图片?

很容易看出主题将如何成为一个样式表,它为每个 WordPress 块设置样式,同时处理其他必要的样式,如排版和垂直节奏。 即便如此,人们仍然怀疑主题,至少在我们如何认识它们方面,是否是必要的。

提议的主题结构

提议的结构看起来与当前的 WordPress 主题没有太大区别。 最大的区别是主题模板将成为“块模板”和“块模板部分”。 这些模板将是 HTML 文件而不是 PHP 文件。

以下是当前结构的位置。

 theme |__ style.css |__ functions.php |__ block-templates |__ index.html |__ single.html |__ archive.html |__ ... |__ block-template-parts |__ header.html |__ footer.html |__ sidebar.html |__ ...

从模板的角度来看,它对于 WordPress 主题来说似乎是相对正常的。 这些文件只是具有不同的类型,并组织在特定的文件夹中。

但是,不同之处在于 HTML 模板的工作方式。 它们本质上将成为块的占位符。 用户还可以通过 WordPress 管理员编辑或完全覆盖单个模板。 因为模板是由块组成的,所以用户不需要任何代码。 他们可以简单地用鼠标指向并单击以插入或删除块。

换句话说,主题中的块模板将是用户构建网站的独特起点。

关于提议的系统有两个值得注意的项目:主题仍然是主题,最终用户可以成为主题构建者。

主题的本质保持不变

当您切入其他所有内容时,WordPress 主题始终是 HTML 和 CSS。 主题的 PHP 方面基本上在一些结构化的 HTML 标记中混合了 PHP 函数调用(即模板标签)。 如果您通过官方 WordPress 主题目录查看大多数主题,您会发现底层标记基本相同。

在块模板系统中,这个想法没有改变。 如果有的话,它可以通过创建一组主题输出的标准元素(块)来简化主题作者的角色。 如果做得好,它还会为类名创建一个标准,以便可以在主题和各种类似的好东西之间轻松共享样式。

任何人都可以构建主题

最初的大纲解释了导出主题的潜力:

最终,任何具有正确功能(例如:管理员 WordPress 角色)的 WordPress 用户都将能够在 WordPress 管理员中访问这些模板,在专用视图中对其进行编辑,并可能将模板导出为主题。

这就是提议的系统可以彻底改变网站建设的地方。 那些今天没有创建 WordPress 主题的编码技能的人可以拥有明天贡献一些东西的工具。

这个想法与 WordPress 的开源精神完美契合。 通过让每个人都能够导出他们的定制,它提供了一种我们以前从未有过的非编码人员的贡献途径。 由社区创建并为社区创建的自定义主题的免费目录,有人吗?

等式的设计方面

块模板仅仅是 HTML。 主题需要与它们的 CSS 分开。 但是,必须有标准化才能实现这一目标。

在设计方面,设计师需要转向基于块的方法。 有些人可能已经熟悉各种“基于组件”的系统,它们的工作方式大致相同。 主题作者不是从上到下设计,而是通过设计每个块来在更原子的级别上进行设计。

关于样式最终将如何发挥作用,还有许多悬而未决的问题。 目前,有一个公开的票用于讨论块的样式系统。 大部分讨论都是围绕如何将设计系统与主题相结合。

加入讨论

重要的是要指出,该提案的任何内容都不是一成不变的。 它是对主题未来可能持有的内容的高级概述。 然而,现在是社区提供意见的时候了,尤其是过去可能觉得有点脱节的主题作者。 现在是发表您的声音并为讨论提供想法的时候了。

WordPress 主题审查团队还就与该提案相关的主题的未来以及主题是否应该开始利用实验性 Gutenberg 功能进行公开讨论。