WordPressの子テーマを作成する方法と必要な場面

WordPressの子テーマを作成する方法と必要な場面

子テーマを使わないテーマカスタマイズは危険

WordPressテーマを直接カスタマイズする際、親テーマのファイルを編集してしまうと、アップデート時に変更内容がすべて上書きされて消えてしまいます。

子テーマとは、親テーマの機能やデザインを引き継ぎながら、カスタマイズ部分だけを別管理できる仕組みです。親テーマを更新しても、子テーマの変更は保持されます。

長期運用を前提とするサイトでは、子テーマの使用は必須レベルのベストプラクティスです。

子テーマが必要な場面

  • CSSをカスタマイズしたい
  • functions.phpで機能を追加したい
  • テンプレート(header.php / single.phpなど)を変更したい
  • HTML構造を調整したい

子テーマの作成手順

ステップ①:フォルダを作成

/wp-content/themes/ に子テーマ用フォルダを作成します。一般的に「親テーマ名-child」とします(例:revit-child)。

ステップ②:style.cssを作成

/*
 Theme Name: Revit Child
 Theme URI: https://revit-works.com/
 Description: Revitテーマの子テーマ
 Author: Revit
 Template: revit
 Version: 1.0.0
*/

※「Template」は親テーマのフォルダ名と完全一致が必須です。

ステップ③:functions.phpを作成

親テーマのCSSは@importではなくwp_enqueue_styleで読み込むのが現在の推奨方法です(パフォーマンスと依存関係管理のため)。

get('Version')
    );
}

ステップ④:有効化

  1. 管理画面 → 外観 → テーマ
  2. 子テーマを確認
  3. 有効化

子テーマの動作仕組み(重要)

子テーマは以下の優先順位で読み込まれます。

  • テンプレートファイル:子テーマ → 親テーマ
  • functions.php:両方読み込まれる(上書きではない)

この違いを理解していないと、意図しない動作になるため注意が必要です。

子テーマでのカスタマイズ方法

CSSの上書き

子テーマのstyle.cssに記述すると、親テーマのCSSを上書きできます。

テンプレートの上書き

親テーマと同じファイル名を配置することで、子テーマが優先されます(例:header.php / single.php)。

※テンプレート階層(Template Hierarchy)に従って読み込まれるため、構造理解が重要です。

子テーマが不要なケース

  • 軽微なCSS変更のみ(→ 追加CSSでも対応可)
  • テーマがすでに高度なカスタマイザーを持っている場合

ブロックテーマ(FSE)の場合

最近のブロックテーマでは、サイトエディターでの編集が主流となっており、必ずしも子テーマが必要とは限りません。ただし、PHPや構造変更を伴うカスタマイズでは、従来通り子テーマの使用が推奨されます。

まとめ

テーマのカスタマイズを行う場合、子テーマの使用は安全性・保守性の観点から必須です。特に長期運用やクライアント案件では、子テーマなしのカスタマイズはリスクが高すぎます。

正しい構造で管理することで、アップデートにも強く、拡張しやすいサイト運用が可能になります。設計段階で迷う場合は、専門家に相談することで無駄な手戻りを防げます。

WordPressのトラブルやホームページのお悩みはRevitにご相談ください

LINEで無料相談 フォームで問い合わせ