## customTemplates(自定义模板)
用于存放模板文件夹中自定义模板的附加元数据。
| 属性 | 说明 | 类型 |
| -------- | ----------- | ---- |
| name | 模板文件名称(不含扩展名),位于模板文件夹内。 | `字符串` |
| title | 模板标题(支持翻译)。 | `字符串` |
| postTypes | 可使用此自定义模板的文章类型列表。 | `[ 字符串 ]` |
## templateParts(模板部件)
用于存放部件文件夹中模板部件的附加元数据。
| 属性 | 说明 | 类型 |
| -------- | ----------- | ---- |
| name | 模板文件名称(不含扩展名),位于部件文件夹内。 | `字符串` |
| title | 模板标题(支持翻译)。 | `字符串` |
| area | 模板部件的适用区域。当设置为`header`或`footer`时,将使用对应的区块变体。 | `字符串` |
## patterns(模式)
从模式目录注册的模式标识数组。
类型:`[ 字符串 ]`
# Theme.json 第 3 版参考文档(最新版)
> 本文档是 `theme.json` **第 3 版**的动态技术规范。该版本适用于 WordPress 6.6 及以上版本,以及最新的 Gutenberg 插件。
>
> 您可能对以下相关文档感兴趣:
> - [theme.json v1](/docs/reference-guides/theme-json-reference/theme-json-v1.md) 技术规范
> - [theme.json v2](/docs/reference-guides/theme-json-reference/theme-json-v2.md) 技术规范
> - [从旧版 theme.json 迁移的参考指南](/docs/reference-guides/theme-json-reference/theme-json-migrations.md)
本参考指南列出了 `theme.json` 架构中定义的设置项和样式属性。关于如何在主题中使用 `theme.json` 文件的示例与指南,请参阅 [theme.json 使用指南](/docs/how-to-guides/themes/global-settings-and-styles.md)。
## JSON 架构
本文档根据 theme.json 的 JSON 架构生成。
包含 Gutenberg 插件所有最新更改的第 3 版最新架构可在 https://schemas.wp.org/trunk/theme.json 获取。
各 WordPress 版本对应的 Theme.json 架构可在 https://schemas.wp.org/wp/{{version}}/theme.json 获取。
例如,WordPress 5.8 的架构位于 https://schemas.wp.org/wp/5.8/theme.json。
关于如何在编辑器中运用 JSON 架构,请参阅[使用 theme.json 进行开发](/docs/how-to-guides/themes/global-settings-and-styles.md#developing-with-themejson)。
## settings
区块编辑器及各独立区块的设置项。包含以下内容:
- 应向用户开放哪些自定义选项
- 默认可供用户使用的颜色、字体大小等
- 样式中使用的 CSS 自定义属性与类名
- 编辑器的默认布局(宽度与可用对齐方式)
### useRootPaddingAwareAlignments
启用根内边距(取自 `styles.spacing.padding` 的值)应用于全宽区块内容而非根区块。
请注意,使用此设置时,`styles.spacing.padding` 必须始终设置为包含独立声明的 `top`、`right`、`bottom`、`left` 值的对象。
**注意:** 仅限顶级属性。不可在区块中使用。
---
### appearanceTools
用于启用以下界面工具的设置:
- 背景:backgroundImage、backgroundSize
- 边框:color、radius、style、width
- 颜色:link、heading、button、caption
- 尺寸:aspectRatio、minHeight
- 定位:sticky
- 间距:blockGap、margin、padding
- 排版:lineHeight
---
### background
与背景相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| backgroundImage | 允许用户设置背景图片。 | `boolean` | `false` |
| backgroundSize | 允许用户设置背景图片尺寸相关值,包括尺寸、位置和重复控制。 | `boolean` | `false` |
---
### border
与边框相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| color | 允许用户设置自定义边框颜色。 | `boolean` | `false` |
| radius | 允许用户设置自定义边框圆角。 | `boolean` | `false` |
| style | 允许用户设置自定义边框样式。 | `boolean` | `false` |
| width | 允许用户设置自定义边框宽度。 | `boolean` | `false` |
| radiusSizes | 边框圆角选择器的预设圆角尺寸。 | `[ { name, slug, size } ]` | |
---
### color
与颜色相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| background | 允许用户设置背景颜色。 | `boolean` | `true` |
| custom | 允许用户选择自定义颜色。 | `boolean` | `true` |
| customDuotone | 允许用户创建自定义双色调滤镜。 | `boolean` | `true` |
| customGradient | 允许用户创建自定义渐变。 | `boolean` | `true` |
| defaultDuotone | 允许用户从默认双色调滤镜预设中选择滤镜。 | `boolean` | `true` |
| defaultGradients | 允许用户从默认渐变中选择颜色。 | `boolean` | `true` |
| defaultPalette | 允许用户从默认调色板中选择颜色。 | `boolean` | `true` |
| duotone | 双色调选择器的双色调预设。 | `[ { name, slug, colors } ]` | |
| gradients | 渐变选择器的渐变预设。 | `[ { name, slug, gradient } ]` | |
| link | 允许用户在区块中设置链接颜色。 | `boolean` | `false` |
| palette | 颜色选择器的调色板预设。 | `[ { name, slug, color } ]` | |
| text | 允许用户在区块中设置文本颜色。 | `boolean` | `true` |
| heading | 允许用户在区块中设置标题颜色。 | `boolean` | `true` |
| button | 允许用户在区块中设置按钮颜色。 | `boolean` | `true` |
| caption | 允许用户在区块中设置说明文字颜色。 | `boolean` | `true` |
---
### 自定义
生成形式为 `--wp--custom--{键}--{嵌套键}: {值};` 的自定义 CSS 自定义属性。`驼峰式`命名的键会被转换为`短横线命名法`,以遵循 CSS 属性命名规范。不同层级的键之间使用 `--` 分隔,因此键名中不应包含 `--`。
---
## 样式
用于设置 CSS 属性的结构化方式。顶级样式将被添加到 `body` 选择器中。
### 背景
背景样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| backgroundImage | 设置 `background-image` CSS 属性。 | `string`, `{ ref }`, `{ url }` |
| backgroundPosition | 设置 `background-position` CSS 属性。 | `string`, `{ ref }` |
| backgroundRepeat | 设置 `background-repeat` CSS 属性。 | `string`, `{ ref }` |
| backgroundSize | 设置 `background-size` CSS 属性。 | `string`, `{ ref }` |
| backgroundAttachment | 设置 `background-attachment` CSS 属性。 | `string`, `{ ref }` |
---
### 边框
边框样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| color | 设置 `border-color` CSS 属性。 | `string`, `{ ref }` |
| radius | 设置 `border-radius` CSS 属性。 | `string`, `{ ref }`, `{ topLeft, topRight, bottomLeft, bottomRight }` |
| style | 设置 `border-style` CSS 属性。 | `string`, `{ ref }` |
| width | 设置 `border-width` CSS 属性。 | `string`, `{ ref }` |
| top | | `{ color, style, width }` |
| right | | `{ color, style, width }` |
| bottom | | `{ color, style, width }` |
| left | | `{ color, style, width }` |
---
### 颜色
颜色样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| background | 设置 `background-color` CSS 属性。 | `string`, `{ ref }` |
| gradient | 设置 `background` CSS 属性。 | `string`, `{ ref }` |
| text | 设置 `color` CSS 属性。 | `string`, `{ ref }` |
---
### CSS
设置自定义 CSS,用于应用其他 theme.json 属性未涵盖的样式。
---
### 尺寸
尺寸样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| aspectRatio | 设置 `aspect-ratio` CSS 属性。 | `string`, `{ ref }` |
| minHeight | 设置 `min-height` CSS 属性。 | `string`, `{ ref }` |
---
### 滤镜
CSS 和 SVG 滤镜样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| duotone | 设置双色调滤镜。 | `string`, `{ ref }` |
---
### 轮廓
轮廓样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| color | 设置 `outline-color` CSS 属性。 | `string`, `{ ref }` |
| offset | 设置 `outline-offset` CSS 属性。 | `string`, `{ ref }` |
| style | 设置 `outline-style` CSS 属性。 | `string`, `{ ref }` |
| width | 设置 `outline-width` CSS 属性。 | `string`, `{ ref }` |
---
### 阴影
盒子阴影样式。
---
### 间距
间距样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| blockGap | 当 settings.spacing.blockGap 为 true 时,设置 `--wp--style--block-gap` CSS 自定义属性。 | `string`, `{ ref }` |
| margin | 外边距样式。 | `{ top, right, bottom, left }` |
| padding | 内边距样式。 | `{ top, right, bottom, left }` |
---
### 排版
排版样式。
| 属性 | 描述 | 类型 |
| -------- | ----------- | ---- |
| fontFamily | 设置 `font-family` CSS 属性。 | `string`, `{ ref }` |
| fontSize | 设置 `font-size` CSS 属性。 | `string`, `{ ref }` |
| fontStyle | 设置 `font-style` CSS 属性。 | `string`, `{ ref }` |
| fontWeight | 设置 `font-weight` CSS 属性。 | `string`, `{ ref }` |
| letterSpacing | 设置 `letter-spacing` CSS 属性。 | `string`, `{ ref }` |
| lineHeight | 设置 `line-height` CSS 属性。 | `string`, `{ ref }` |
| textAlign | 设置 `text-align` CSS 属性。 | `string`, `{ ref }` |
| textColumns | 设置 `column-count` CSS 属性。 | `string`, `{ ref }` |
| textDecoration | 设置 `text-decoration` CSS 属性。 | `string`, `{ ref }` |
| writingMode | 设置 `writing-mode` CSS 属性。 | `string`, `{ ref }` |
| textTransform | 设置 `text-transform` CSS 属性。 | `string`, `{ ref }` |
---
### 尺寸
与尺寸相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| aspectRatio | 允许用户设置宽高比。 | `布尔值` | `false` |
| defaultAspectRatios | 允许用户从默认宽高比集合中选择宽高比。 | `布尔值` | `true` |
| aspectRatios | 允许用户为某些区块定义宽高比。 | `[ { 名称, 别名, 比例 } ]` | |
| minHeight | 允许用户设置自定义最小高度。 | `布尔值` | `false` |
---
### 布局
与布局相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| contentSize | 设置内容的最大宽度。 | `字符串` | |
| wideSize | 设置宽内容(`.alignwide`)的最大宽度。在计算流体字体大小时也用作最大视口。 | `字符串` | |
| allowEditing | 禁用布局用户界面控件。 | `布尔值` | `true` |
| allowCustomContentAndWideSize | 启用或禁用自定义内容和宽尺寸控件。 | `布尔值` | `true` |
---
### 灯箱
与灯箱相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| enabled | 定义灯箱是否启用。 | `布尔值` | |
| allowEditing | 定义是否在区块编辑器中显示灯箱用户界面。如果设置为 `false`,用户将无法在区块编辑器中更改灯箱设置。 | `布尔值` | |
---
### 位置
与位置相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| sticky | 允许用户设置粘性位置。 | `布尔值` | `false` |
---
### 阴影
与阴影相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| defaultPresets | 允许用户从默认阴影预设中选择阴影。 | `布尔值` | `true` |
| presets | 阴影选择器的阴影预设。 | `[ { 名称, 别名, 阴影 } ]` | |
---
### 间距
与间距相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| blockGap | 启用从 `styles.spacing.blockGap` 生成 `--wp--style--block-gap`。 | `布尔值`, `null` | `null` |
| margin | 允许用户设置自定义外边距。 | `布尔值` | `false` |
| padding | 允许用户设置自定义内边距。 | `布尔值` | `false` |
| units | 用户可用于间距值的单位列表。 | `[ 字符串 ]` | `["px","em","rem","vh","vw","%"]` |
| customSpacingSize | 允许用户设置自定义空间大小。 | `布尔值` | `true` |
| defaultSpacingSizes | 允许用户从默认空间大小预设中选择空间大小。 | `布尔值` | `true` |
| spacingSizes | 空间大小选择器的空间大小预设。 | `[ { 名称, 别名, 大小 } ]` | |
| spacingScale | 自动为空间大小选择器生成空间大小预设的设置。 | `{ 运算符, 增量, 步数, 中等步数, 单位 }` | |
---
### 排版
与排版相关的设置。
| 属性 | 描述 | 类型 | 默认值 |
| -------- | ----------- | ---- | ------- |
| defaultFontSizes | 允许用户从默认字体大小预设中选择字体大小。 | `布尔值` | `true` |
| customFontSize | 允许用户设置自定义字体大小。 | `布尔值` | `true` |
| fontStyle | 允许用户设置自定义字体样式。 | `布尔值` | `true` |
| fontWeight | 允许用户设置自定义字体粗细。 | `布尔值` | `true` |
| fluid | 启用流体排版,并允许用户设置全局流体排版参数。 | `布尔值`, `{ 最小字体大小, 最大视口宽度, 最小视口宽度 }` | `false` |
| letterSpacing | 允许用户设置自定义字间距。 | `布尔值` | `true` |
| lineHeight | 允许用户设置自定义行高。 | `布尔值` | `false` |
| textAlign | 允许用户设置文本对齐方式。 | `布尔值` | `true` |
| textColumns | 允许用户设置文本列数。 | `布尔值` | `false` |
| textDecoration | 允许用户设置自定义文本装饰。 | `布尔值` | `true` |
| writingMode | 允许用户设置书写模式。 | `布尔值` | `false` |
| textTransform | 允许用户设置自定义文本变换。 | `布尔值` | `true` |
| dropCap | 启用首字下沉。 | `布尔值` | `true` |
| fontSizes | 字体大小选择器的字体大小预设。 | `[ { 名称, 别名, 大小, 流体 } ]` | |
| fontFamilies | 字体家族选择器的字体家族预设。 | `[ { 名称, 别名, 字体家族, 字体文件 } ]` | |
---