WordPressサイトを構築する際にはテーマをインストールして編集するのが一般的です。テーマには様々なPHPファイルが含まれており、WordPressサイトをカスタマイズためにはこれらのPHPファイルを編集しなければなりません。
親テーマと子テーマとは
親テーマとはテーマ本体のことです。
子テーマとは親テーマの機能やスタイルを継承した上で編集を行うためのテーマです。
子テーマを利用するためには親テーマがインストールされていなければなりません。WordPressのAppearance>Themesに移動すると、親テーマと子テーマがインストールされていると下記のように2つのテーマがインストールされているように見えるはずです。
なぜ親テーマを直接編集してはいけないのか
サイトをカスタマイズする時に親テーマを直接編集してはいけません。編集する対象は子テーマのみです。その理由は親テーマは機能のアップグレードやセキュリティ対策のため頻繁にアップデートされますが、もし親テーマを直接編集していて親テーマをアップデートしてしまったら、これまで編集した内容は全て上書きされてしまいます。
テーマが親テーマと子テーマに別れているのは、親テーマの中のコアなファイルがアップデートされても、テーマに加えた編集がなくならないようにするためです。
子テーマの作成方法
主要な有料テーマであればほぼ親テーマと子テーマが同時に配布されています。テーマを利用する際には、親テーマと子テーマの両方をサイトにインストールをして、編集は子テーマに対して行うというのが正しい方法です。
しかし中には親テーマしか配布されていなくて、子テーマがない場合があります。その場合は以下の方法で子テーマを作成します。
1. 子テーマフォルダを作成する
WordPressのテーマディレクトリに子テーマフォルダを作成します。フォルダの名称はthemename-childのように親テーマの名前がわかるようなものが良いです
2. 子テーマフォルダ内にstyle.cssを作成する
子テーマフォルダ内にstyle.cssというテキストファイルを作成し、ファイル内に下記のコードをコピー&ペーストします。
/*
Theme Name: Twenty Fifteen Child
Theme URI: http://example.com/twenty-fifteen-child/
Description: Twenty Fifteen Child Theme
Author: John Doe
Author URI: http://example.com
Template: twentyfifteen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain: twenty-fifteen-child
*/
上記ソースコードの中で
Theme Name: 子テーマの名前
Template: 親テーマのフォルダ名
を自分のサイトに合わせて書き換えます。
3. function.phpを作成する
子テーマフォルダ内に下記内容のfunction.phpを作成してインストールします。
親テーマのファイルを編集しなければならない時
実質的に子テーマフォルダにはstyle.cssとfunction.phpの2ファイルしかありません。しかしGoogle Analyticsの設定などのためいheader.phpなどのファイルを編集することが必要な場合があります。
その場合は、親テーマ内の該当するファイルを複製し、子テーマフォルダ内にコピーしてから編集します。
まとめ
最近はWordPressを対象とするマルウェアや攻撃が増え、テーマやプラグインも頻繁にアップデートされるようになってきました。このようなアップデートの場合でも親テーマと子テーマが別れていれば、簡単に上書きをして最新版システムにすることができます。WordPressサイトをカスタマイズするには子テーマを対象に行うことが必須です。