WordPress子テーマの作り方とメリットやデメリット

子テーマを作成するのはテーマを直接カスタマイズしてしまうと、テーマのバージョンアップによって変更した内容が上書きされてしまい、せっかくカスタマイズしたものが標準に戻ってしまうためです。子テーマを使うメリットは、テーマを更新させても自分の変更内容を保持できるというメリットがあります。その反面、子テーマを使用するデメリットは、作成に時間や労力がかかることです。サイト自体が重くなることもデメリットの1つです。親テーマに加えて子テーマを読み込む必要があるため、サイトの表示速度が遅くなってしまいます。

子テーマを利用した方がいい場合としない方がいい場合

テーマのカスタマイズをする機会が多い場合は子テーマを利用した方がいいでしょう、親テーマをいじることなく変更ができるので、トラブルを回避することが可能です。万一、表示されなくなってしまった場合にも親テーマーに戻すことで回復させることも可能なことが多いといえます。機能を追加したい場合や、親テーマ内の関数を上書きする場合も有効的です。

WordPressの仕組みでは、親と子テーマで同じ名前のファイルがある場合、子テーマから優先的に読み込まれます。

テーマのカスタマイズを必要としないのであれば、子テーマを利用しない方がいいでしょう。ページに複雑な装飾を必要としないのであれば、外観 → カスタマイズ にある追加CSS でスタイルを追加されることをお勧めします。こちらは、テーマの更新をしても追加部は変更されないので安心です。(ただし、肥大化するような場合は表示スピードに影響を与えることもありますので注意が必要です)

子テーマ作成手順

1.ローカルPC上に子テーマを格納するフォルダを作成する。フォルダ名は 「○○○-child」等のわかり易いものなら良いです。(一般的には○○○には親テーマ名を入れることが多いようです。)

2.子テーマフォルダ内に style.css とfunction.php を作ります。(テキストエディタが必要、古いエディタは文字コードが扱えていない場合もあるので注意が必要です。)

3.style.cssの設定をします。テキストエディタで下記の記述をします。()は注釈です必要ありません。

/*
Theme Name: lightning Child
 (子テーマの名前)
Version: 1.6
Template: lightning (親テーマの名前)
*/

4. function.php の設定をします。「functions.php」は、WordPress内にCSSやJavaScriptの機能を追加したり、親テーマの後に子テーマを読み込んだりするための機能や関数を追加し機能拡張させるためのものです。スペルミスや空白をミスするとエラーを起こしたりするので十分注意して取り扱ってください。初心者の方は知識のある方に助けて頂くのが得策かもしれません。

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
  wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
  wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style')
);
}
?>

function.php に上記の記述をします。テーマ共通のものになっているので、修正の必要はありません。

子テーマを使えるようにする

style.css とfunction.php が作成できたらWordPressサーバーにアップロードし子テーマが使えるようにします。アップロードする方法はWordPressの管理画面で行う方法とFTPソフト等利用して行う方法がありますが、ここでは簡単な管理画面を使った方法で説明します。

1. 子テーマフォルダを Zip 形式で圧縮します。

2.WordPressの管理画面にログインしダッシュボードの 外観 → テーマ → 新規追加 → テーマのアップロード と進み先ほど作成した圧縮ファイルをアップロードします。

3.子テーマを有効化するには、管理画面のテーマに先ほどアップロード下子テーマが表示されているはずですので、こちらを有効化します。

※ 最近のテーマにはあらかじめ子テーマが用意されているものもあります。この場合テーマのサポートサイトなどからダウンロードすると管単に利用できます。

Child Theme Configurator

Child Theme Configurator は子テーマが作れるプラグインです。子テーマのデメリットは作成に時間や労力がかかることです。この時間や労力を手助けしてくれるのが Child Theme Configurator です。 サイト自体が重くなることもデメリットの1つです。加えて子テーマを読み込む必要があるため、サイトの表示速度が遅くなってしまいます。