gutenbergdocs/docs/reference-guides/theme-json-reference/theme-json-v2.md
2025-10-22 01:40:18 +08:00

331 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 模板部件
用于定义在部件文件夹中的模板部件的附加元数据。
类型:`对象`
| 属性 | 描述 | 类型 |
|----------|--------------------------------------------------------------|----------|
| name | 模板在部件文件夹中的文件名(不含扩展名)。 | 字符串 |
| title | 模板的标题,支持翻译。 | 字符串 |
| area | 模板部件被用于的区域。针对 `header``footer` 值存在区块变体,当区域设置为其中之一时,将使用对应的区块变体。 | 字符串 |
## 模式
一组从模式目录注册的模式别名。
类型:`数组`
# Theme.json 版本 2 参考文档
> 本文档是 `theme.json` **版本 2** 的规范说明。该版本适用于 WordPress 5.9 及以上版本。
<div class="callout callout-alert">
Theme.json 版本 3 已随 WordPress 6.6 发布。WordPress 将继续支持 theme.json 版本 2但新功能将仅添加到[新版本](/docs/reference-guides/theme-json-reference/theme-json-living.md)中。
当您准备升级时,请参阅 [theme.json 迁移指南](/docs/reference-guides/theme-json-reference/theme-json-migrations.md#migrating-from-v2-to-v3)了解更新至最新版本的详细信息。
</div>
本参考指南列出了 `theme.json` 架构中定义的设置项和样式属性。关于如何在主题中使用 `theme.json` 文件的示例与指导,请参阅 [theme.json 使用指南](/docs/how-to-guides/themes/global-settings-and-styles.md)。
## JSON 架构
本文档根据 theme.json 的 JSON 架构生成。
版本 2 的最新架构可在 `https://schemas.wp.org/wp/6.5/theme.json` 获取。
各 WordPress 版本对应的 Theme.json 架构可通过 `https://schemas.wp.org/wp/{{version}}/theme.json` 获取。例如WordPress 5.9 的架构位于 `https://schemas.wp.org/wp/5.9/theme.json`
关于如何在编辑器中运用 JSON 架构,请参阅[使用 theme.json 进行开发](/docs/how-to-guides/themes/global-settings-and-styles.md#developing-with-themejson)。
## 设置项
### appearanceTools
用于启用以下界面工具的设置:
- 背景backgroundImage、backgroundSize
- 边框color、radius、style、width
- 颜色link
- 尺寸aspectRatio、minHeight
- 定位sticky
- 间距blockGap、margin、padding
- 排版lineHeight
---
### useRootPaddingAwareAlignments
启用根节点内边距(取自 `styles.spacing.padding` 的值)应用于全宽区块内容而非根区块。
请注意,使用此设置时,`styles.spacing.padding` 应始终设置为包含独立声明的 `top`、`right`、`bottom`、`left` 值的对象。
---
### border
与边框相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| color | boolean | false | |
| radius | boolean | false | |
| style | boolean | false | |
| width | boolean | false | |
---
### shadow
与阴影相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| defaultPresets | boolean | true | |
| presets | array | | name、shadow、slug |
---
### color
与颜色相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| background | boolean | true | |
| custom | boolean | true | |
| customDuotone | boolean | true | |
| customGradient | boolean | true | |
| defaultDuotone | boolean | true | |
| defaultGradients | boolean | true | |
| defaultPalette | boolean | true | |
| duotone | array | | colors、name、slug |
| gradients | array | | gradient、name、slug |
| link | boolean | false | |
| palette | array | | color、name、slug |
| text | boolean | true | |
| heading | boolean | true | |
| button | boolean | true | |
---
### background
与背景相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| backgroundImage | boolean | false | |
---
### dimensions
与尺寸相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| aspectRatio | boolean | false | |
| minHeight | boolean | false | |
---
### layout
与布局相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| contentSize | string | | |
| wideSize | string | | |
| allowEditing | boolean | true | |
| allowCustomContentAndWideSize | boolean | true | |
---
### lightbox
与灯箱效果相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| --- | --- | --- | --- |
| enabled | boolean | | |
| allowEditing | boolean | | |
---
### 定位
与定位相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| ------- | ------- | ------ | ------ |
| sticky | boolean | false | |
---
### 间距
与间距相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| ----------------- | ------------- | --------------------- | ------------------ |
| blockGap | boolean, null | null | |
| margin | boolean | false | |
| padding | boolean | false | |
| units | array | px,em,rem,vh,vw,% | |
| customSpacingSize | boolean | true | |
| spacingSizes | array | | name, size, slug |
| spacingScale | object | | |
---
### 排版
与排版相关的设置。
| 属性 | 类型 | 默认值 | 参数 |
| ---------------- | ------------- | ------ | ----------------------------------------- |
| customFontSize | boolean | true | |
| fontStyle | boolean | true | |
| fontWeight | boolean | true | |
| fluid | object, boolean | false | _{maxViewportWidth, minFontSize, minViewportWidth}_ |
| letterSpacing | boolean | true | |
| lineHeight | boolean | false | |
| textColumns | boolean | false | |
| textDecoration | boolean | true | |
| writingMode | boolean | false | |
| textTransform | boolean | true | |
| dropCap | boolean | true | |
| fontSizes | array | | fluid, name, size, slug |
| fontFamilies | array | | fontFace, fontFamily, name, slug |
---
### 自定义
生成形式为 `--wp--custom--{key}--{nested-key}: {value};` 的自定义 CSS 属性。`camelCased` 格式的键会被转换为 `kebab-case` 以遵循 CSS 属性命名规范。不同深度的键之间用 `--` 分隔,因此键名中不应包含 `--`
---
## 样式
### 边框
边框样式。
| 属性 | 类型 | 参数 |
| ------ | ------------- | ------------------ |
| color | string, object | |
| radius | string, object | |
| style | string, object | |
| width | string, object | |
| top | object | color, style, width |
| right | object | color, style, width |
| bottom | object | color, style, width |
| left | object | color, style, width |
---
### 颜色
颜色样式。
| 属性 | 类型 | 参数 |
| ----------- | ------------- | ---- |
| background | string, object | |
| gradient | string, object | |
| text | string, object | |
---
### 尺寸
尺寸样式。
| 属性 | 类型 | 参数 |
| ------------- | ------------- | ---- |
| aspectRatio | string, object | |
| minHeight | string, object | |
---
### 间距
间距样式。
| 属性 | 类型 | 参数 |
| -------- | ------------- | ------------------------ |
| blockGap | string, object | |
| margin | object | bottom, left, right, top |
| padding | object | bottom, left, right, top |
---
### 排版
排版样式。
| 属性 | 类型 | 参数 |
| -------------- | ------------- | ---- |
| fontFamily | string, object | |
| fontSize | string, object | |
| fontStyle | string, object | |
| fontWeight | string, object | |
| letterSpacing | string, object | |
| lineHeight | string, object | |
| textColumns | string | |
| textDecoration | string, object | |
| writingMode | string, object | |
| textTransform | string, object | |
---
### 滤镜
CSS 和 SVG 滤镜样式。
| 属性 | 类型 | 参数 |
| -------- | ------------- | ---- |
| duotone | string, object | |
---
### 阴影
盒子阴影样式。
---
### 轮廓
轮廓样式。
| 属性 | 类型 | 参数 |
| ------ | ------------- | ---- |
| color | string, object | |
| offset | string, object | |
| style | string, object | |
| width | string, object | |
---
### CSS
设置自定义 CSS用于应用其他 theme.json 属性未涵盖的样式。
---
## 自定义模板
为 templates 文件夹中定义的自定义模板提供额外元数据。
类型:`object`。
| 属性 | 描述 | 类型 |
| ---------- | ---------------------------------- | ------ |
| name | 模板在 templates 文件夹中的文件名(不含扩展名)。 | string |
| title | 模板的标题(可翻译)。 | string |
| postTypes | 可以使用此自定义模板的文章类型列表。 | array |