【WordPress ブロックテーマ自作③】theme.jsonの最初の一歩|レイアウト幅とパーツ登録

先にやっておきたいtheme.jsonの設定があります。この設定は2回に分けて進めます。

この記事ではレイアウト幅とパーツ登録、次の記事ではカラーパレットの設定を行います。

theme.jsonはブロックテーマの「設定ファイル」です。色・幅・フォント・パーツ登録など、サイト全体に関わる設定をここで管理します。

contentSize・wideSizeって何?

AD – 読み進める前のひとやすみ

テンプレートを組む前に、サイトの「幅」を決めておきましょう。

theme.json で設定する幅は2種類

設定
役割
contentSize
通常コンテンツの幅(本文・見出しなど)
wideSize
幅広表示にしたときの幅(画像・テーブルなど)

幅の目安

サイトの雰囲気
contentSize
wideSize
読みやすさ重視(ブログ)
680px〜800px
1000px〜1200px
情報量多め(情報サイト)
800px〜900px
1200px〜1400px
広々とした印象
900px〜1000px
1400px以上

💡 迷ったら contentSize: 800pxwideSize: 1200px からスタートするのがおすすめです。あとから調整できます。

サイドバーの有無

contentSize・wideSizeはページのレイアウトによって役割が変わります。

📄 サイドバーなし(1カラム)

wideSize
header
contentSize
本文エリア
footer
contentSize 本文の幅
wideSize 画像など幅広表示の幅

📰 サイドバーあり(2カラム)

wideSize(メイン+サイドバー全体)
header
contentSize
本文
sidebar
footer
contentSize 本文エリアの幅
wideSize 本文+サイドバー全体の幅

💡サイドバーなしのページでは wideSize は幅広表示(画像など)に使われますが、
サイドバーありのページでは wideSize を「本文+サイドバー」の合計幅として設計するのがおすすめです。

👇 実際に体感してみよう
「ピンとこない…」という方は、まずシミュレーターで動かしてみるのが一番です。

【WordPress】ブロックテーマのレイアウトをシミュレーターで体感しよう! ブロックテーマのレイアウト、なんとなく触っているけど「なぜこうなるの?」と思ったことはありませんか? 実は、ブロックテーマのレイアウトは たった3つの「幅…

appearanceToolsについて

AD – 読み進める前のひとやすみ

appearanceTools: trueは、サイトエディターで使えるデザイン調整ツールを有効にする設定です。
エディターの設定パネルから余白・枠線・文字色などを調整するメニューを表示します。

使えるようになる主な調整

  • ブロックの余白(padding・margin)
  • 枠線の太さ・色・角丸
  • リンクの色
  • 見出しの文字色

useRootPaddingAwareAlignmentsについて

AD – 読み進める前のひとやすみ

useRootPaddingAwareAlignments は、サイト全体の左右の余白(padding)を統一管理する設定です。

💡 useRootPaddingAwareAlignments: true にすることで、幅広ブロックや全幅ブロックを—それぞれ自動でいい感じに調整してくれます。

※「左右のpaddingを意識して全幅を制御する」という宣言なので。全幅ブロックを使うには、styles.spacing.paddingで左右の値の設定が必要です。

appearanceTools: true とセットで使うのが基本です。この2つがそろって初めて、余白まわりが思い通りに動きます。

templatePartsについて

AD – 読み進める前のひとやすみ

templateParts は、ヘッダーやフッターなどの共通パーツをWordPressに登録する設定です。

登録しないと、サイトエディターの「テンプレートパーツ」一覧に表示されず、ヘッダー・フッターとして正しく機能しません。

area
用途
header
ヘッダー専用パーツ
footer
フッター専用パーツ
uncategorized
その他の汎用パーツ(サイドバーなど)

theme.jsonにまとめて追加しよう

AD – 読み進める前のひとやすみ

ここまでの設定をまとめると、theme.json はこうなります。

{
  "version": 3,
  "settings": {
    "appearanceTools": true,
    "useRootPaddingAwareAlignments": true,
    "layout": {
      "contentSize": "800px",
      "wideSize": "1200px"
    }
  },
  "styles": {
    "spacing": {
      "padding": {
        "top": "0px",
        "right": "20px",
        "bottom": "0px",
        "left": "20px"
      }
    }
  },
  "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 の編集方法

1 管理画面 → ツール(or外観)テーマファイルエディター を開く
2 右側の「テーマファイル」から theme.json を選択
3 直接編集して「ファイルを更新」で保存

💡 theme.json を管理画面で編集したら、そのコードを手元のファイルにコピペして保存しておきましょう。再インストールや万が一のトラブルのときに役立ちます。

💡 「テンプレートパーツが認識されているか」を「外観」→ 「エディター」 → 「パターン」 → 「テンプレートパーツ一覧」で確認しておきましょう。

JSONで迷子になったら

AD – 読み進める前のひとやすみ

🤖 JSONで迷ったらまずAIに頼ろう

「カッコだらけで何がなんだか…」となったら、そのままAIに貼り付けて聞いてみましょう。

💬 「このJSON、どこかおかしいですか?」
💬 「theme.jsonにカラーパレットを追加したいのですが書き方を教えてください」

エラー箇所を一瞬で見つけてくれます。ただ、ルールを少しだけ知っておくともっとうまく使えます👇

⚠️ よくあるミス① 最後のカンマ問題

❌ ダメな書き方

{
  "slug": "primary",
  "color": "#fff2b2",  ← カンマ
}

✅ 正しい書き方

{
  "slug": "primary",
  "color": "#fff2b2"  ← カンマなし
}

最後の項目の後ろにカンマをつけるとエラーになります。
「最後の子にはカンマなし」と覚えましょう!

🔄 正しく書いたのに反映されない 時は

JSONに間違いがないのに変更が反映されない場合は、キャッシュが原因かもしれません。

  • ブラウザの強制リロード(Mac:Cmd+Shift+R / Win:Ctrl+Shift+R)
  • キャッシュ系プラグインのキャッシュをクリア
  • シークレットウィンドウで確認する

最後まで読んでいただき、ありがとうございました。
おつかれさまでした 🍵

スポンサーリンク