在 WordPress 5.8 引進了一個新的功能 theme.json,用來設定區塊編輯器以及個別區塊的樣式,而對於即將於 WordPress 5.9 推出的全站編輯 (Full Site Edit) 更是扮演著很重要的角色。
theme.json 是 JSON (JavaScript Object Notation) 格式檔案,如果你對 JSON 格式不熟悉,可以參考這篇文章。
theme.json 結構
基本的 theme.json 結構如下:
{
"version": 1,
"settings": {},
"styles": {},
"customTemplates": {},
"templateParts": {}
}
version: theme.json 格式的版本號,目前只有一個唯一的版號 1。WordPress 5.8 會忽略不同於當前版本號的 theme.json
settings: 可以啟用或停用功能。
styles: 設定佈景主題的預設樣式
customTemplates:設定在 templates 目錄中的區塊範本。例如你可以設定某個區塊範本可以在哪個內容類型使用。
templateParts:設定在 parts 目錄中的區塊範本組件。
theme.json JSON Schema
因為 theme.json 的設定繁多,如果你要確認 theme.json 可以使用哪些設定,可以參考 theme.json 的 schema。
JSON schema 是用來描述一個 JSON 檔案包含哪些欄位,以及欄位的說明和格式。