WordPressのテーマ作成の手順がわかったら、既存のテーマを親要素として、さらにオリジナル部分は子テーマで作成すると効率的です。子テーマは親テーマと簡単な関連付けをする必要があります。
子テーマで最低限必要な決まりごと
子テーマで最低必要なものは「style.css」と「functions.php」です。
以下手順です。
- wp-content/themeディレクトリの中に子テーマのファイルを入れる専用のディレクトリを作成します。ディレクトリ名は子テーマが連想できるような名前にしておきます。また、子テーマディレクトリの名前には最後に ‘-child’ を付けることが推奨されます。ここでは仮に親テーマのディレクトリ名をchoco-cakeとして子テーマのディレクトリ名をchoco-cake-childとします。
*子テーマディレクトリの名前には空白を含めるとエラーが発生しますので注意してください。 - 子テーマディレクトリの中にstyle.cssを作成します。
- style.cssに次の記述をします。
/* Theme Name:Choco-Cake-Child Themplate:choco-cake */
- 親テーマのcssをインポートします。その方法はfunctions.phpにアクションフックを記述します。
以前よく使われていた@importを使ってインポートする方法はよくないとされていますので注意してください。子テーマの初期functions.phpの例
<?php add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); function theme_enqueue_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); }
ポイントは子テーマのstyle.cssの中に記述するTheme Name:Choco-Cake-ChildとThemplate:choco-cakeです。
Theme Name:は子要素のテーマ名です。
また、Themplate:は親要素のディレクトリ名です。親要素のテーマ名ではありませんので間違わないようにしましょう。
親テーマのスタイルを引き継ぐにはfunctions.phpの wp_enqueue_script()を使います。「子テーマの初期functions.phpの例」をそのままコピペで使用すればOKです。
WordPressは子テーマのテンプレートファイルを優先して採用しますが、子テーマにないテンプレートは親要素のものが使用されます。
また、functions.phpは子要素、親要素それぞれのファイルを適用させます。
子テーマのディレクトリのファイルをインクルードする注意点
子テーマのディレクトリ構造内に存在するファイルをインクルードする場合、get_stylesheet_directory() を使用します。get_template_directory()をした場合は、親テーマのディレクトリを参照してしまいます注意してください。