WordPress 子テーマの作り方
子テーマとは
WordPressの既存のテーマを変更する方法として、子テーマを作成してカスタマイズ塗る方法が推奨されています。
子テーマとは、親テーマと呼ばれる既存のテーマの機能とスタイルを継承したテーマです。
子テーマの利点
既存のテーマを直接変更した場合、そのテーマがアップデートされると変更が失われてしまいます。子テーマを使用すればテーマの変更は確実に保持されます。
子テーマを使用することで開発時間を短縮できます。
子テーマの作り方
子テーマは、少なくとも 1つのディレクトリ(子テーマディレクトリ)と、2つのファイル(style.css と functions.php) から構成されます。以下を作成する必要があります。
- 子テーマディレクトリ
- style.css
- functions.php
子テーマディレクトリをwp-content/themes ディレクトリ下に作成します。
スタイルシート (style.css) の作成です。
スタイルシートは次の スタイルシートヘッダ で始める必要があります。最低限以下の2行が必要です。
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
*/
Theme Name行は、この例ではTwenty Fifteen Childですが、作成する子テーマのディレクトリはtwentyfifteen-childのように空白を含めないでください。
Template行は、親テーマのディレクトリ名を指します。この例では親テーマが Twenty Fifteen テーマですので、Template は twentyfifteen です。別のテーマが親テーマの場合、該当のディレクトリ名を指定してください。
functions.phpを作成します。
必須の子テーマファイルは style.css のみですが、スタイルを正しくキューに入れるには functions.php が必要です。
親テーマと子テーマのスタイルシートをキューに入れます。以前は @import: を使用して親テーマのスタイルシートをインポートしていましたが、これはもはや良い方法ではありませんので注意してください。親テーマのスタイルシートをキューに入れる正しい方法は、子テーマの functions.php で wp_enqueue_script()を使用する方法です。したがって子テーマには functions.php を作成する必要があります。子テーマの functions.php の最初の行は、PHP の開始タグ (<?php) で始め、続けて親テーマと子テーマのスタイルシートをキューに入れます。以下の例は、親テーマが 1つの style.css ファイルを使用してすべての CSS を保持している場合にのみ動作します。テーマが複数の .css ファイルを持つ場合(たとえば、ie.css、style.css、main.css) すべての親テーマの依存関係を管理する必要があります。依存関係に ‘parent-style’ を設定すると子テーマのスタイルシートは親テーマのあとで読み込まれます。
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
これで子テーマを有効化する準備ができました。サイトの管理画面にログインし、管理画面 > 外観 > テーマに移動してください。子テーマが表示され、有効化できる状態になっています。
テンプレートファイルについて
スタイルシート以外を変更したい場合も、子テーマは親テーマのすべてのファイルを上書きできます。単純に同じ名前のファイルを子テーマディレクトリに置くことで、サイトがロードされると親テーマディレクトリ内の同名のファイルは上書きされます。たとえば、サイトヘッダーの PHP コードを変更するには、子テーマディレクトリに header.php を置けば、親テーマの header.php の代わりにそのファイルが使用されます。
親テーマに存在しないファイルでも、子テーマに含められます。たとえば、特定のページ用のテンプレートやカテゴリーアーカイブ用のテンプレートなど、親テーマに存在するものよりも特殊なテンプレートの場合です。
最近のコメント