WordPressは、ウェブサイトの作成と管理に非常に人気のあるプラットフォームです。特に、テーマをカスタマイズする際に「子テーマ(サブテーマ)」を使うことで、元のテーマを安全に変更できるため、多くのウェブ開発者にとって重要な技術となっています。この記事では、WordPressの子テーマを作成する方法について、完全かつ包括的に説明します。
子テーマの概要
WordPressでは、テーマはサイトのデザインや機能を制御します。テーマをカスタマイズする際、直接変更を加えると、テーマの更新時にその変更が失われる可能性があります。これを防ぐために、「子テーマ」を使用します。子テーマは、親テーマの機能やスタイルを継承しながら、独自のカスタマイズを加えることができる安全な方法です。

子テーマを作成することで、親テーマの更新や修正を行っても、子テーマのカスタマイズが失われることはありません。
子テーマを作成する手順
-
子テーマ用のフォルダを作成
子テーマを作成するためには、まずWordPressのテーマディレクトリに新しいフォルダを作成する必要があります。親テーマの名前に「-child」を追加した名前にするのが一般的です。
例:
twentytwenty-child
(親テーマが「twentytwenty」の場合)フォルダは、WordPressのインストールディレクトリの中にある
wp-content/themes/
ディレクトリ内に作成します。 -
style.css ファイルを作成
子テーマのスタイルシート(
style.css
)は必須です。このファイルに子テーマの情報とスタイルを記述します。style.css
の冒頭には、テーマの詳細情報をコメントとして記載する必要があります。これにより、WordPressが子テーマを正しく認識します。css/* Theme Name: Twenty Twenty Child Theme URI: http://example.com/twenty-twenty-child/ Description: Twenty Twenty Child Theme Author: あなたの名前 Author URI: http://example.com Template: twentytwenty Version: 1.0.0 */ /* 子テーマ専用のカスタムスタイルをここに追加 */
-
Theme Name
: 子テーマの名前 -
Template
: 親テーマのディレクトリ名(親テーマの名前) -
Version
: 子テーマのバージョン
-
-
functions.php ファイルを作成
子テーマには、
functions.php
というファイルも必要です。このファイルに親テーマのスタイルシートを読み込むコードを追加します。functions.php
は、テーマの機能をカスタマイズするために使用されます。php// 親テーマのスタイルを読み込む function my_theme_enqueue_styles() { $parent_style = 'twentytwenty-style'; // 親テーマのスタイルのハンドル名 wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' ); wp_enqueue_style( 'twentytwenty-child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ) ); } add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
このコードは、親テーマのスタイルを最初に読み込み、その後に子テーマのスタイルを読み込むことを指示しています。
-
カスタマイズを追加
子テーマが正しく作成されたら、
style.css
にCSSスタイルを追加したり、functions.php
で新しい機能を追加したりすることができます。また、親テーマのテンプレートファイル(header.php
、footer.php
など)をオーバーライドすることもできます。オーバーライドするには、親テーマと同じファイル名で子テーマにファイルを追加します。例えば、
header.php
を変更したい場合、子テーマに新しいheader.php
を作成し、その中でカスタマイズを行います。子テーマに同名のファイルを作成すれば、親テーマの対応するファイルが自動的に上書きされます。 -
テーマを有効化する
子テーマが完成したら、WordPressの管理画面にログインし、「外観」→「テーマ」から子テーマを有効化します。これで、親テーマの機能を引き継ぎながら、子テーマのカスタマイズが適用されます。
子テーマの利点
-
親テーマの更新を保持
子テーマを使用する最も大きな利点は、親テーマが更新されても、子テーマのカスタマイズが保持されることです。これにより、テーマのアップデートが安全に行えます。
-
カスタマイズの柔軟性
親テーマのテンプレートファイルやスタイルを変更することなく、必要なカスタマイズだけを子テーマで行うことができます。これにより、元のテーマに対して非破壊的な変更が可能になります。
-
管理が容易
子テーマで変更を加えることで、親テーマと子テーマのカスタマイズを明確に分けて管理できます。親テーマのコードを変更することなく、独自のスタイルや機能を追加することができます。
-
WordPressのベストプラクティスに準拠
WordPressのベストプラクティスに従って、テーマを更新しやすく、セキュリティリスクを減らしながら、柔軟にカスタマイズできます。
子テーマの管理と注意点
-
親テーマに依存: 子テーマは親テーマに依存しているため、親テーマが削除された場合、子テーマは動作しなくなります。
-
カスタマイズの範囲: 親テーマのテンプレートファイルをオーバーライドする際、子テーマ内で親テーマのファイルを完全に置き換えることができますが、変更を加えすぎると親テーマのアップデート時に競合が発生することがあります。
結論
WordPressの子テーマは、テーマのカスタマイズを安全に行うための強力なツールです。子テーマを使用することで、親テーマの更新を気にせずに、独自のデザインや機能を追加できます。この記事で紹介した手順に従って、子テーマを作成し、WordPressのカスタマイズをより効率的に行いましょう。