欢迎来到本课程,我们将一起探索 WordPress 的全局设置与样式。
通过本课程,您将:
- 描述 WordPress 主题中 theme.json 文件的作用,
- 熟悉 JSON 格式及 theme.json 的结构,以及
- 理解用于加载网站设置和样式配置的层级结构。
为什么 WordPress 主题需要 theme.json 文件?
Theme.json 是主题的配置文件。以前,主题开发者会在经典主题中使用自定义器来为最终用户构建功能。
举个例子,如果我们查看经典主题 Twenty Twenty-One,会在自定义器中找到颜色和小工具的设置。最终用户正是通过自定义器来使用主题的。
如今,在现代化的 WordPress 中,我们有了区块主题,主题开发者现在可以使用 theme.json 来向最终用户提供这些功能。这提供了一种更一致的方式来呈现功能。
在站点编辑器中,您可以看到可以在主题中包含的设置和样式的各种可能性。
JSON 格式与 theme.json 的结构
JSON 代表 JavaScript 对象表示法,本质上是一种数据表示格式。它用于配置文件。它是通过 REST API 发送和请求数据的常见格式,轻量且易于阅读。
支持的数据类型包括字符串、数字、浮点数、布尔值、数组和对象。对于数组,我们始终使用数字索引,就像在 PHP 中理解的那样,如示例所示。
对于对象,我们使用键值对,如下例所示。这是一个来自《西部世界》的语录列表,您可以看到我刚才提到的键值格式。
另请注意,键始终是字符串。在代码编辑器中,您会在屏幕顶部找到面包屑导航,这有助于快速导航。
我的光标位于 Bernard Lowe 的第一条语录上,您可以看到它是一个数组项。另请注意,JSON 对逗号特别敏感。如果我删除一个逗号,就会收到错误消息。
查看默认主题 Twenty Twenty-Four 的 theme.json 文件。
现在我将介绍这些属性。
Schema(模式):用于定义支持的 JSON。这就是我们能获得实时提示和错误报告的原因。
Version(版本):例如版本 2。您可以在 WordPress.org 上找到这个实时参考文档,它提供了您可以设置的最新属性。
Settings(设置):用于定义区块控件、调色板、字体大小等。
Styles(样式):用于应用颜色、字体大小、应用于网站和区块的自定义 CSS 等项目。
Template parts(模板部件):在主题的 parts 文件夹中定义的模板部件的元数据。
Custom templates(自定义模板):在主题的 templates 文件夹中定义的自定义模板的元数据。
Patterns(模式):一个以逗号分隔的别名列表,用于从 WordPress.org 上的模式目录中注册。
用于加载设置和样式配置的层级结构
主题中包含的 theme.json 文件只是网站设置和样式配置层级结构中的一层。这意味着它在某些情况下可以被覆盖。
我将从低到高为您介绍这个层级的优先级。
WordPress
在安装文件中,如果您进入 WP includes 文件夹,会看到其中的 theme.json 文件,该文件定义了默认设置和样式。
主题的 theme.json 文件
您在该文件中定义的任何内容都会覆盖 WordPress 的默认设置。如果您有一个处于激活状态的子主题,并且子主题中包含 theme.json 文件,那么您在此处所做的任何设置都将优先于父主题中的 theme.json 文件。例如,您可以将“外观工具”设置为 false。
用户配置
在站点编辑器中,任何通过全局样式甚至模板更改并保存到数据库的更改,都将覆盖并优先于层级结构中的所有其他级别。
总结
在《中级主题开发者学习路径》中,可以找到更详细的信息。
别忘了,你还可以访问 theme.json 参考指南,进一步熟悉 JSON 模式。