子テーマの作り方とメリット
WordPressのデザインをカスタマイズする際、「テーマのファイルを直接編集すればいいのでは?」と思う方も多いのではないでしょうか。実はこれには大きな落とし穴があります。テーマを直接編集してしまうと、次回のテーマアップデート時に、加えた変更がすべて消えてしまうのです。
この問題を避けるために使われるのが「子テーマ」という仕組みです。この記事では、子テーマとは何か、なぜ必要なのか、そして実際の作り方までを解説します。
子テーマとは
子テーマとは、既存のテーマ(親テーマ)の機能やデザインを引き継ぎながら、独自にカスタマイズを加えるための「もう一つのテーマ」です。
親テーマの中身を直接書き換えるのではなく、子テーマ側に「変更したい部分だけ」を記述します。子テーマに記述がない部分は、自動的に親テーマの内容がそのまま使われる仕組みになっています。
イメージとしては、親テーマという土台の上に、変更点だけを書いた透明なシートを重ねるような形です。
子テーマを使う3つのメリット
1. テーマアップデートの影響を受けない
WordPressのテーマは、不具合修正や機能追加のために定期的にアップデートされます。親テーマを直接編集していると、このアップデートのたびにカスタマイズ内容が上書きされて消えてしまいます。
子テーマであれば、親テーマ側がアップデートされても、子テーマに書いた変更内容はそのまま維持されます。セキュリティ対策のためにも、テーマのアップデートは定期的に行うべきであり、それを安心して行えるようになるのが最大のメリットです。
2. 変更箇所が明確になる
子テーマには「自分が変更した部分」だけが記述されるため、後から見返したときに「どこをカスタマイズしたのか」が一目で分かります。担当者が変わった場合の引き継ぎや、制作会社に修正を依頼する際にも、変更箇所を把握しやすくなります。
3. 元に戻しやすい
カスタマイズがうまくいかなかった場合でも、子テーマを無効化すれば親テーマ本来の状態にすぐ戻せます。直接編集した場合と違い、「どこを変えたか分からず元に戻せない」という事態を防げます。
子テーマの作り方
ここでは、最もシンプルな子テーマの作成手順を紹介します。作業は、サーバー上のテーマフォルダに直接ファイルを作成する形で進めます。
必要なファイルは基本的に2つだけ
style.css(子テーマの情報とスタイルを記述)functions.php(親テーマの機能を読み込むための記述)
手順1:子テーマ用フォルダを作成する
WordPressの wp-content/themes/ フォルダの中に、子テーマ用の新しいフォルダを作成します。フォルダ名は分かりやすいように、親テーマ名に -child を付けるのが一般的です。
wp-content/themes/親テーマ名-child/
手順2:style.cssを作成する
作成したフォルダの中に style.css を作成し、冒頭に以下のような情報を記述します。
/*
Theme Name: 親テーマ名 Child
Template: 親テーマのフォルダ名
Version: 1.0.0
*/
Template の項目には、親テーマのフォルダ名を正確に指定する必要があります。ここが間違っていると子テーマとして認識されないため注意してください。
手順3:functions.phpを作成する
同じフォルダの中に functions.php を作成し、親テーマのスタイルを読み込む処理を記述します。
<?php
function enqueue_parent_theme_style() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' );
この記述がないと、親テーマ本来のスタイル(デザイン)が読み込まれず、レイアウトが崩れた状態になってしまいます。
手順4:管理画面で子テーマを有効化する
管理画面の「外観」→「テーマ」を開くと、作成した子テーマが一覧に表示されます。これを選択して有効化すれば完了です。
手順5:カスタマイズを加えていく
有効化した子テーマの style.css にCSSを追記したり、親テーマの特定のファイル(例:header.php など)と同じ名前のファイルを子テーマ側に作成してカスタマイズを加えていきます。子テーマ側に同名のファイルがある場合、そちらが優先して読み込まれる仕組みです。
作業前に知っておきたい注意点
- 有効化前に必ずバックアップを取る:テーマの切り替えは表示に影響するため、作業前のバックアップは必須です。
- 可能であればテスト環境で作業する:本番サイトでいきなり作業せず、テスト環境で動作確認してから本番に反映するのが安全です。
- 親テーマ自体も削除しない:子テーマは親テーマの機能を読み込んで動作する仕組みのため、親テーマ本体も引き続きサーバー上に残しておく必要があります。
- 既にカスタマイズ済みのサイトは移行に工数がかかる:すでに親テーマを直接編集してしまっているサイトを子テーマ構成に変更する場合、変更箇所の洗い出しなど、通常より作業工数がかかる点は考慮しておきましょう。
まとめ
子テーマは、一見すると手間が増えるように感じるかもしれませんが、長期的にサイトを安全かつ柔軟に運用していくためには欠かせない仕組みです。特に「今後デザインを継続的に調整していきたい」「セキュリティのためにテーマは定期的にアップデートしたい」という場合には、早い段階で子テーマ構成にしておくことを強くおすすめします。
「子テーマへの移行を相談したい」「カスタマイズも含めてまとめて依頼したい」という場合は、お気軽にお問い合わせください。