WordPressのブロックテーマを作る際に、theme.jsonに何も指定しなかったら初期値がどうなるのかを調べました。
theme.jsonのリファレンス
WordPressの公式ドキュメントには、theme.jsonの最新の仕様についてまとめられているページがあります。
ですがここに記載されているのは、あくまで「テーマ側で何も指定していなかったらWordPress側はどのように解釈するのか」らしく、特に余白(styles.spacing
)等は、具体的にどのような値になるのか特定できませんでした。
Create Block Themeプラグインの初期値
WordPressは、ブロックテーマを簡単に作成できる公式のプラグインがあります。
このプラグインで「空のテーマ」から作成した場合、以下のパスにあるボイラープレート(ひな型)が参照されるようです。
/wp-content/plugins/create-block-theme/assets/boilerplate/theme.json
コードは公開されており、下記URLで最新のJSONを見ることができます。テーマを作成するための最低限の設定しか記述されていないことがわかります。
何も指定しなかった場合の初期値
さて、肝心の初期値ですが、以下のパスにある theme.json
の内容が反映されるようです。
/wp-includes/theme.json
こちらもコードは公開されています。先ほどのボイラープレートとは異なり、膨大な設定が書かれているのがわかります。
特に調べたかった余白(styles.spacing
)については、6.6.2時点では spacingScale
での自動設定となっていました。spacingScaleについての説明は割愛しますが、 1.5rem
を中央値とし、大小3段階にそれぞれ150%ずつ増減した7段階が初期値ということになります。
"spacing": {
"blockGap": null,
"margin": false,
"padding": false,
"customSpacingSize": true,
"defaultSpacingSizes": true,
"units": [ "px", "em", "rem", "vh", "vw", "%" ],
"spacingScale": {
"operator": "*",
"increment": 1.5,
"steps": 7,
"mediumStep": 1.5,
"unit": "rem"
}
},
補足
使用中のテーマのtheme.jsonを一旦空にして、このファイルの内容を編集したら反映された、という雑な検証なので確定ではありません。公式ドキュメントに記載があればご指摘いただけるとありがたいです。