WordPressで子テーマを作成してカスタマイズする方法

本記事は広告が含まれる場合があります WordPress

WordPressで子テーマを作成してカスタマイズする方法

WordPress(ワードプレス)のテーマファイルを編集する場合、子テーマを利用することでメンテナンス性が向上します。

ここではWordPressで子テーマを作成する方法を説明していきます。
 

(※追記)WordPressバージョン4.7から追加CSSという機能が備わりました。簡単なCSSの編集のみでしたら、子テーマを使わず追加CSSから設定を行うことができます。
 

ワードプレスをレイアウトをカスタマイズしようと思っています。今のテーマのPHPファイルやCSSファイルとかを編集すれば良いんですよね??

確かにそれでもカスタマイズはできるんですけど、ワードプレスには子テーマという機能があって、子テーマを利用してカスタマイズする方法が推奨されているんですよ(※注)

 

(※注)子テーマを利用しても、親テーマのテンプレート・仕様が大幅にアップデートされた場合は、子テーマの再メンテナンスが必要になる場合があります。
 

 

【WordPress対応】自分でホームページ・ブログを作成したいWebスクールWEBST8
WordPress 自分でホームページ・ブログを作成したい個人事業主のためのWebスクール・教室 ウェブストエイト


 

WordPress子テーマとは親テーマの機能を引き継いだ差分テーマ

今適用している親テーマのデザインや機能をそのまま引き継いだテーマのことです。子テーマを自分流にカスタマイズすることでWordPressをカスタマイズすることができます。
WordPressの子テーマは、親テーマと呼ばれる別のテーマの機能とスタイルを継承したテーマです。
 

適用している既存のテーマのファイルをそのままカスタマイズした場合、そのテーマをアップデートすると自分でカスタマイズした内容が全てリセットされてしまいます。
 

適用している既存のテーマのファイルをそのままカスタマイズした場合、そのテーマをアップデートすると自分でカスタマイズした内容が全てリセットされる
 

既存のテーマと独立して子テーマを作成しておくことで、親テーマをバージョンアップしても子テーマは影響を受けなくなるので、既存のテーマをカスタマイズする場合は子テーマの利用が推奨されています。

親テーマを継承した子テーマを作成しておくことで、親テーマをバージョンアップしても子テーマは影響を受けなくなる
 

(※)本番環境のワードプレスのテーマをバージョンアップ・更新する際は、万一のためにバックアップを取得して元に戻せるようにしておきましょう。
 

バックアップの取得方法は以下をご参照ください。
WordPressのバックアップ 有名プラグインbackWPupの使い方

 

(補足)WordPress 4.7からリリースされた追加CSS機能

WordPressバージョン4.7から追加CSSという機能が備わりました。簡単なCSSの編集のみでしたら、子テーマを使わず追加CSSから設定を行うことができます。
 

追加CSSを利用するには、ワードプレスにログインした状態でカスタマイズボタンを押下します。
WordPress カスタマイズ
 

追加CSSを押下します。
WordPress カスタマイズ>追加CSS
 

CSS編集画面で任意のCSS設定を行うことができます。
WordPress カスタマイズ>追加CSSからCSSの編集する
 

また、この追加CSSで編集した内容はテーマのテンプレートを直接編集していないため、テーマが更新されても内容がクリアされることはありません。
 

ただし、ここで設定したCSSはテーマごとに設定が保存されているため、テーマを変更するとCSS設定はクリアされますので注意してください。
 

でも追加CSS機能を利用すれば子テーマは作らなくても良いのでしょうか??使い分け方とかあるんでしょうか。

使い分け方としては、小規模なCSS設定であればこの追加CSS機能を利用。
テンプレート(functions.phpや各種phpファイル)を変更する場合や、大規模なCSSカスタマイズ、独自のCSSファイルやJavascriptの読み込みをする場合に子テーマを利用する
といったような使い分け方をすると良いと思います。

 

なお、親テーマの追加CSSでCSS設定したあとで子テーマを作成した場合は、親テーマの追加CSSは引き継がれないので注意してください。
 

この場合は子テーマを有効化する前に追加CSSの内容を控えておき、子テーマを有効化後に改めてCSSの設定をしてください。
 

子テーマ 追加CSS
用途 本格的にテーマカスタマイズしたい場合に向いている 数行〜数十行の小規模なCSS設定のみで済む場合に向いている
CSSの追加編集
テンプレート(xxx.php)の追加・編集 ×
難易度 やや難しい 簡単
更新方法 ファイルを修正してFTPでファイルアップロード Web上の管理画面で更新
注意点 子テーマとはいえ、親テーマのPHPファイルの仕様やバージョンが大幅に変わった場合、再度子テーマのPHPファイルなどを再メンテナンスしなければならない場合があります。 追加CSSはテーマごとに設定保持されているので、追加CSSを設定した後で親テーマ→子テーマに切り替えると一旦リセットされます。(事前にコピーして再設定する必要があります。)

 

WordPressの子テーマの作成方法

子テーマの必要最小ファイル

子テーマは、少なくとも 1つのディレクトリ(子テーマディレクトリ)と、2つのファイル(style.css と functions.php) から構成されます。以下の図が子テーマの最小構成図です。

wordpress 子テーマの構成図

wordpress 子テーマの構成図


 

必要なフォルダ・ファイルは以下の通りです。

必要なフォルダ・ファイル

  • 下記2ファイルを格納した子テーマ用フォルダ(ディレクトリ)
  • style.css
  • functions.php(※)

(※)fuctions.phpを使わなくても子テーマとして動作するのですが、親テーマのCSSを正しく継承するためにはfunctions.php が必要であるため実質ほぼ必須になります。
 

公式サイトから子テーマサンプルをダウンロードする

有名なテーマの場合は、「テーマ名 子テーマ」で検索すると、配布元から子テーマのサンプルファイルが配布されていたり、手順が載っている場合があります(配布されていない場合もあります)

まずは、「テーマ名 子テーマ」で検索してみましょう。

例. Lightningの子テーマ
lightning 子テーマで検索
 

子テーマのサンプルファイルがダウンロードできます。こちらを利用すればOKです。
wordpress lightning子テーマサンプルファイルのダウンロード
 

自分で作る場合の最低限の子テーマ作成方法

ここではhabakiriというテーマを利用して1から子テーマを作成する手順を記載します(前述のlightningのようにサンプルをダウンロードして使う場合は本手順は不要です。)
 

以下は本記事作成時の環境です。

まずWordPressのthemesディレクトリに子テーマ用ディレクトリ「habakiri-child」を作成します。

子テーマディレクトリを作成する

子テーマディレクトリを作成する


 

実際にはフォルダやファイルをレンタルサーバーにアップロードする必要があります。アップロードにはFTPソフトが必要です。
FTPソフトがない方は下記よりFileZillaをインストールしておきましょう。
無料FTPツール FileZilla の使い方 Mac・Windows対応

 

次にhabakiri-childディレクトリの直下にstyle.cssとfunctions.phpの2つのファイルを新規作成します。

style.cssとfunctions.phpの2つのファイルを作成する

style.cssとfunctions.phpの2つのファイルを作成する

※Windowsをご利用の方で文字コードuft-8以外になっている場合はutf-8で作成してください。
 

現時点で下記のようになっていることを確認してください。

wordpress 子テーマの構成図

wordpress 子テーマの構成図


 

 

次にstyle.cssにテーマ名 (Theme Name)や親テーマのディレクトリ名(Template)を記載します。

 

Theme Name(子テーマの名前。なんでも良いがここでは「habakiri-child」とします)
Template(親テーマのディレクトリ名「ここでは habakiri になります」
を記載してください。
 

そのほか、下記のように必要に応じて項目を追加することもできます。省略しても構いません。

 

 

続けてfunctions.phpに親テーマのCSSを明示的に読み込む設定を行います。

親テーマがhabakiriの場合は以下のように記述します。

(※)Habakiri 2.3.0 以降は自動的に Habakiri のスタイルシートが適用されるようになり、上記コードは必須ではなくなったようです。
 

なお、一般的にはfunctions.phpには以下のように記載します。(通常は下記をコピー&ペーストで大丈夫ですが、親テーマがstyle.min.cssを使っているなど名称が違う・複数のCSSを利用している場合など、親テーマによっては必要に応じて読み替えて設定する必要があります。)

 

詳細が下記にありますのでご確認ください。
WordPress Codex 日本語版
wp_enqueue_script()
 

これで子テーマの最低限の内容ができあがりました。
 

子テーマを有効にする

WordPressの管理者画面>外観>テーマから子テーマを有効にします。

子テーマを有効にする

子テーマを有効にする


 

 

トップページを見て親テーマと初期画面が同じであることを確認します。

子テーマ有効時の初期画面

子テーマ有効時の初期画面


 

子テーマで色々なカスタマイズを行う

ここからは自分のカスタマイズしたい内容に応じて自由に子テーマをカスタマイズしていきます。
 

style.cssに自分がカスタマイズしたいプロパティを追加してください。

 

CSSだけでなく、親テーマのphpファイルを参考に自分の好きなようにカスタマイズしていくこともできます。
 

たとえば、footer.phpをカスタマイズしたいときは親テーマのfooter.phpを子テーマにコピーして、子テーマ内のfooter.phpをカスタマイズできます。

子テーマの設定 親テーマからファイルをコピーしてカスタマイズできる

親テーマのファイルをコピーしてカスタマイズ


 

親テーマのファイルをコピーしてカスタマイズすることで、元に戻したい場合に親テーマのファイルを比較したり、差し替えたりすることで元に戻すことができます。逆にファイルを移動すると親テーマに元のファイルがなくなるため、元に戻したくなった時に戻すのが困難になる可能性があります。
 

親テーマのファイルを子テーマに移動ではなくコピーして使いましょう。

 

そのほか子テーマでファイルを増やして独自のカスタム投稿タイプを作成したり、親テーマの既存のファイルをカスタマイズしたり、など自分の好きなようにカスタマイズできるのでぜひいろいろ試してみてください。
 

子テーマ利用時の注意点

子テーマは便利な機能ですが、親テーマの主要PHPファイル(header.phpやfooter.php、single.phpやpage.phpなど)を子テーマにコピーしてカスタマイズしすぎるとメンテナンス性が悪くなることがあるので注意が必要です。

たとえば親テーマのバージョンが1.0時代のfooter.phpを子テーマにコピーして利用した後、時間が経ち親テーマのバージョンが4.0になったとします。

この場合、他のテンプレートファイルはバージョン4.0時代のものだが、footer.phpだけバージョン1.0時代がベースになったものを利用していることになり、不具合が発生する場合があります。
親テーマと子テーマのバージョンの違いによる 不整合発生のリスクについて
 

そのため、子テーマとはいえ、カスタマイズ内容によっては、親テーマのバージョンが上がれば子テーマのメンテナンスが必要になる場合もあるので、注意しましょう。

親テーマを直接変更するとバージョンアップで消えてしまうのでテンプレートファイルの改変は子テーマの方が良いのですが、「テンプレートファイルの改変 = バージョンアップで新しい機能についていけなくて不具合を引き起こす可能性がある」ので、できるだけテンプレートでの改変をせずにアクションフックやフィルターフックで改変できるものはそちらで対応する事をおすすめします。
参考記事)子テーマでのカスタマイズ | Lightning公式サイトより引用

メンテナンス性をできるだけよくしようとすると親テーマの主要PHPファイルのコピーしてのカスタマイズはできるだけしないようにして、functions.phpなどでフックというWordPressの仕組みを利用してカスタマイズする方法があります。ただし、少し難易度が上がるのでここでは割愛します。

(参考記事)WordPress初心者開発者向け フィルターフックとアクションフック入門

 

まとめ

今回はWordPress子テーマとはなにか、子テーマの作成方法について説明しました。
 

親テーマを継承した子テーマを作成しておくことで、親テーマをバージョンアップしても子テーマは影響を受けなくなるので、テーマをカスタマイズする際に推奨されているやり方です。
 

親テーマを継承した子テーマを作成しておくことで、親テーマをバージョンアップしても子テーマは影響を受けなくなる
 

子テーマを自分流にカスタマイズすることでWordPressをカスタマイズすることができます。
 

下記のサイトにもWordPressの子テーマの作り方などが記載されていますのでご興味ある方はご確認ください。
 

子テーマ - WordPress Codex 日本語版
 

「業者に任せたけど、更新ができない」「本で独学は時間がかかりすぎる・・」そんなお悩みの方も多いのではないでしょうか。

個別指導形式のスクールでは、自分の知りたいことをピンポイントで学習・達成でき、自分で更新もできるというメリットもあります。
教室の無料事前相談もしておりますので、まずはお気軽にご登録ください。

詳細はこちら

YouTubeチャンネル開設しました!

WEBST8 YouTube Channel 開設
最大月間50万PVの当ブログをベースに、Youtube動画配信にてWordPress、ホームページ作成、ブログのことについてお役立ち情報を随時配信していきます。

ご興味ある方はぜひチャンネル登録をしていただけますと幸いです。

今回は以上になります。最後までご覧いただきありがとうございました。

 

『自分で作る選択を』
自分でホームページ作成・Web集客したいホームページ作成スクール・教室

自分でホームページ作成・Web集客したいホームページ作成スクール・教室 WEBST8


 

おすすめ記事3選

【徹底解説】レンタルサーバーおすすめ比較7選WordPress対応

【おすすめレンタルサーバー比較総まとめ】WordPress対応5社

WordPress(ワードプレス)でブログ・ホームページを始めようと思った時に、レンタルサーバー選びでどれが良いのか迷うことも多いのではないでしょうかこれからWordPressでホームページやブログを開設するためにレンタルサーバー選びを検討している方はこちらをご覧ください。

【WordPressの始め方総まとめ】ワードプレスブログの作り方9STEP

WordPressの始め方総まとめ

WordPress(ワードプレス)でブログを始めようと思った時に、サーバー・ドメインの手続きなどわからないことだらけで困っているというお悩みをお持ちの方も多いのではないでしょうか。本記事では、WordPressでブログやアフィリエイトを始めたい初心者を対象にWordPressの始め方をご紹介していきます。

【総まとめ】WordPress(ワードプレス)ホームページ作り方

【総まとめ】WordPress(ワードプレス)ホームページ作り方

WordPressでホームページを自作しようと思った際に、「ドメイン?サーバー?たくさん調べることがあって何から手をつけたら良いのかわからない」というかたも多いのではないでしょうか。この記事ではWordPress初心者の方を対象にWordPressでホームページを作る方法をご紹介していきます。

-WordPress
-