WordPressの子テーマを作成する

わけあって、WordPressを勉強中です。

デザインをカスタマイズするために、子テーマを作ってみます

子テーマとは?

子テーマを利用すると、親テーマを書き換えずにデザインのカスタマイズができます。

子テーマは独立しているテーマではなく、親テーマに依存していて、

テーマのカスタマイズの管理画面をいじりたい〜なんていうのは、子テーマではできません。

子テーマを作る

WordPressのwp-content/themesフォルダに新しいフォルダを作ります。

必須のファイルはstyle.cssです。

親テーマのstyle.cssをコピーして、こんな感じで1番上のコメントを更新します。

1
2
3
4
5
6
7
/*
Theme Name: name
Author: XXXX
Description: XXXX
Version: 1.0.0
Template: parent theme
*/

必須なのはTheme NameTemplateです。

Templateには親テーマのディレクトリ名を書きます。

コメントなのに、動作に影響するなんて変な感じですね。

コレで、WordPressの管理画面で自分で作った子テーマを選べるようになります。

子テーマをいろいろカスタマイズ

デザインを変えたい

文字の色などのデザインを変えたい場合は、style.cssを更新すればOKです

テンプレートを変えたい

デザインではなく、表示する項目とかを変えたいときは、

各テンプレートファイル(header.php、footer.php、single.php などなど)を

親テーマのディレクトリから子テーマのディレクトリにコピーしてきて、カスタマイズします。

関数を追加したり、新しいcssを読み込んだりしたい

関数を追加したり、新しいcssを読み込んだりしたい場合は、functions.phpをカスタマイズします。

このファイルは親テーマから持ってきてはいけません。

親テーマのfunctions.phpと子テーマのfunctions.phpに同じ関数があると、
こんな感じのエラーになってしまうのです。

1
Fatal error: Cannot redeclare edin_widgets_init() (previously declared in <子テーマのfunctions.php> in <親テーマのfunctions.php>

なので、functions.phpはこんな感じで、追加したいことだけ書きます。

1
2
3
4
5
<?php
/**
* ここに追加したいことを書く
*/
?>