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サイトをカスタマイズするには子テーマを対象に行うことが必須です。