ファイルの準備ができたら、いよいよ中身を作りたいところですが、もう一つだけ先にやっておきたいことがあります。
この記事でやること:
- contentSize・wideSize でサイトの幅を決める
- 調整ツールと余白の設定を有効にする
- templateParts でヘッダー・フッターを登録する
contentSize・wideSizeって何?
テンプレートを組む前に、サイトの「幅」を決めておきましょう。
theme.json で設定する幅は2種類
幅の目安
💡 迷ったら contentSize: 800px・wideSize: 1200px からスタートするのがおすすめです。あとから調整できます。
サイドバーの有無
contentSize・wideSizeはページのレイアウトによって役割が変わります。
📄 サイドバーなし(1カラム)
contentSize
本文の幅
wideSize
画像など幅広表示の幅
📰 サイドバーあり(2カラム)
contentSize
本文エリアの幅
wideSize
本文+サイドバー全体の幅
💡サイドバーなしのページでは wideSize は幅広表示(画像など)に使われますが、
サイドバーありのページでは wideSize を「本文+サイドバー」の合計幅として設計するのがおすすめです。
👇 実際に体感してみよう
「ピンとこない…」という方は、まずシミュレーターで動かしてみるのが一番です。
【WordPress】ブロックテーマのレイアウトをシミュレーターで体感しよう!
目次まず触ってみよう!レイアウトシミュレーター「本文幅 contentSize」って何?「幅広ブロック wideSize」は何のためにある?画面いっぱいに広げる ― 全幅ブロック(alignfull)ブロックの間隔も調整 […]
appearanceToolsについて
appearanceTools は、サイトエディターで使えるデザイン調整ツールを有効にする設定です。true にしないと、エディターの設定パネルから余白・枠線・文字色などを調整するメニューがそもそも表示されません。
appearanceTools: true で使えるようになる主な調整
- ブロックの余白(padding・margin)
- 枠線の太さ・色・角丸
- リンクの色
- 見出しの文字色
useRootPaddingAwareAlignmentsについて
useRootPaddingAwareAlignments は、サイト全体の左右の余白(padding)を統一管理する設定です。
少し長い名前ですが、やっていることはシンプルです。
💡 useRootPaddingAwareAlignments: true にすることで、通常ブロックは余白の内側に、幅広ブロックは余白を考慮しながら、全幅ブロックは画面いっぱいに——それぞれ自動でいい感じに調整してくれます。
💡 appearanceTools: true とセットで使うのが基本です。この2つがそろって初めて、余白まわりが思い通りに動きます。
templatePartsについて
templateParts は、ヘッダーやフッターなどの共通パーツをWordPressに登録する設定です。
登録しないとどうなる?
- サイトエディターの「テンプレートパーツ」一覧に表示されない
- エディターから直接編集できない
areaの指定がないとヘッダー・フッターとして正しく機能しない
💡 指定しない場合は自動的に uncategorized になります。
theme.jsonにまとめて追加しよう
ここまでの設定をまとめると、theme.json はこうなります。
{
"version": 3,
"settings": {
"appearanceTools": true,
"useRootPaddingAwareAlignments": true,
"layout": {
"contentSize": "800px",
"wideSize": "1200px"
}
},
"styles": {},
"templateParts": [
{ "name": "header", "title": "ヘッダー", "area": "header" },
{ "name": "footer", "title": "フッター", "area": "footer" },
{ "name": "sidebar", "title": "サイドバー", "area": "uncategorized" }
]
}サイドバー不要で、{ "name": "sidebar", "title": "サイドバー", "area": "uncategorized" }を削除した場合:{ "name": "footer", "title": "フッター", "area": "footer" }← ,カンマを必ず削除しましょう。
🖊️ theme.json の編集方法
外観 → テーマファイルエディター を開く
theme.json を選択
💡 theme.json を管理画面で編集したら、そのコードを手元のファイルにコピペして保存しておきましょう。再インストールや万が一のトラブルのときに役立ちます。
💡 「テンプレートパーツが認識されているか」を「外観」→ 「エディター」 → 「パターン」 → 「テンプレートパーツ一覧」で確認しておきましょう。
JSONで迷子になったら
🤖 JSONで迷ったらまずAIに頼ろう
「カッコだらけで何がなんだか…」となったら、そのままAIに貼り付けて聞いてみましょう。
💬 「theme.jsonにカラーパレットを追加したいのですが書き方を教えてください」
エラー箇所を一瞬で見つけてくれます。ただ、ルールを少しだけ知っておくともっとうまく使えます👇
⚠️ よくあるミス① 最後のカンマ問題
❌ ダメな書き方
{
"slug": "primary",
"color": "#fff2b2", ← カンマ
}
✅ 正しい書き方
{
"slug": "primary",
"color": "#fff2b2" ← カンマなし
}
最後の項目の後ろにカンマをつけるとエラーになります。
「最後の子にはカンマなし」と覚えましょう!
💡 {} と [] の使い分け
{ }
オブジェクト
「名前:値」のセット
1つのまとまりを表す
[ ]
配列
同じものの並び
複数登録するとき
"palette": [ ← [] 複数の色を並べるから配列
{ ← {} 1つの色のまとまり
"slug": "primary",
"color": "#fff2b2"
}, ← カンマあり(次の{}がまだある)
{ ← {} 2つ目の色
"slug": "secondary",
"color": "#a7d9dd"
} ← カンマなし(最後)
]
🛠️ エラーが出たときの確認方法
theme.jsonを保存してエディターを開いたときにスタイルが反映されていない場合は👇
- カンマの過不足がないか確認
- {}と[]が正しく閉じているか確認
- JSONLint(無料)にコードを貼り付けるとエラー箇所を教えてくれます!
🔄 正しく書いたのに反映されない 時は
JSONに間違いがないのに変更が反映されない場合は、キャッシュが原因かもしれません。
- ブラウザの強制リロード(Mac:Cmd+Shift+R / Win:Ctrl+Shift+R)
- キャッシュ系プラグインのキャッシュをクリア
- 一度ログアウトして再ログイン
