WordPressはテーマを差し替えることで簡単にデザインを変更することができます。
ですが、そんなテーマにも親テーマと子テーマの2種類があり、それぞれ役割が異なります。
今回はWordPressテーマにおける親テーマと子テーマについて解説していきます。
子テーマとは?
子テーマとは、カンタンに説明すると「テーマカスタマイズ用のテーマ」です。
子テーマ単体では何の役にもたちませんが、子テーマは親テーマのデザインやプログラムを引き継ぐ仕様になっており、テーマカスタマイズする際に本のテーマを直接触らずにカスタマイズすることが出来ます。
テーマのコードをカスタマイズしないのであれば必要ありませんが、functions.phpに独自の処理を追加したりする場合は子テーマが必要です。
WordPressカスタマイズで子テーマを使うメリット
WordPressカスタマイズで子テーマを利用するメリットはたくさんあります。どんなメリットがあるか順番に見ていきましょう。
テーマをいつでも更新できる
WordPressテーマは最新バージョンに更新するとすべてのファイルが上書き更新されます。
上書きで更新されるということはこれまでカスタマイズした内容はすべて上書きされて削除されてしまうということであり、また一からカスタマイズし直さなければいけません。functions.phpやstyle.cssに大量のカスタマイズをしていたら大変です。
ですが、WordPressテーマを更新しても子テーマは更新されないためテーマをどのタイミングで更新しても子テーマのカスタマイズ内容が失われることはありません。
WordPressテーマのアップデートは機能追加やセキュリティ上の脆弱性の修正などが行われるため、出来る限り最新バージョンのテーマにしておきたいところです。
ですのでテーマのセキュリティを維持するためにも子テーマを使うメリットはあるでしょう。
不具合が起きたときに子テーマを停止できる
親テーマをカスタマイズしていて不具合が発生した場合、すぐに別のテーマに切り替えて停止させるわけにもいきません。
ですが子テーマの場合はカスタマイズしていない親テーマに戻すことで一時的に不具合を解消することが出来ます。
テーマ機能が原因で不具合が発生しているのか、それとも子テーマで行ったカスタマイズで不具合が起きているのかを特定しやすくなるため、カスタマイズトラブルのことも考えると子テーマで作成するメリットは大いにあります。
修復できない重大なエラーが発生しても子テーマを作り直すだけで解消できる
テーマをカスタマイズしていて不具合が発生したけど、何をどうやっても解決できないという場合、子テーマを削除するだけで問題を解消できます。
使用中のテーマが削除された場合はWordPressデフォルトテーマ「Twenty Twenty」に切り替わるため、サーバーに直接接続して削除しても問題ありません。
また、子テーマの場合はカスタマイズするファイルの種類も少ないので特定のファイルだけを削除して運用し続けることも可能です。
親テーマの一部ファイルだけ上書きできる
子テーマは親テーマの一部のファイルだけ上書きすることが可能です。
header.phpやfooter.phpなどWordPressテーマの特定のファイル(テンプレートファイル)と同名のファイルを子テーマに作成した場合、子テーマのファイルが読み込まれるようになっています。対象となるファイルは以下のファイルです。
- header.php
- footer.php
- index.php
- page.php
- searchform.php
- sidebar.php
- single.php
- 404.php
これらのファイルが子テーマに存在していた場合、子テーマのものが優先されます。
少し特殊な扱いを受けるのがstyle.cssとeditor-style.css・functions.phpです。この3つのファイルは親テーマのstyle.css・editor-style.css・functions.phpが読み込まれた後に追加される形で読み込まれます。
親テーマ・子テーマ両方のファイルが有効なので覚えておきましょう。
上記したテンプレートファイルとstyle.css・editor-style.css・functions.php以外のファイルは同名でも別ファイルとして扱われます。
子テーマを作成する3つの方法
子テーマを作成する方法をいくつかあります。どの方法でも構いませんので好きな方法を選択しましょう。
自前で用意する
自前で子テーマを用意することも出来ます。
子テーマの作成方法を知っていたら子テーマが配布されていないテーマでも自由に子テーマを作成することが出来ます。
子テーマはstyle.cssさえあれば機能するため、style.css・functions.phpだけの子テーマを作成することも可能です。
配布されている子テーマを使用する
国産テーマでよく見かけられる光景ですが、テーマカスタマイズ用の子テーマが親テーマと一緒に配布されていることがあります。
もし配布されているのであればそちらを使用すると良いでしょう。わざわざ子テーマを新規作成する必要はありません。
初めから空のstyle.cssとfunctions.phpが用意されていることが多いので、好きなようにカスタマイズしていくといいでしょう。
プラグインを使用する
プラグインを使用して子テーマを作成する方法もあります。プラグインを使用する場合、子テーマ作成知識やサーバー知識が不要であるため、初心者でもカンタンに子テーマの作成が可能です。
主な子テーマ作成プラグインは以下のようなものがあります。
- WP Child Theme Generator
- Child Theme Configurator
- One-Click Child Theme
子テーマを作成できればいいだけなのでのプラグインを使用しても問題ありません。
ただし子テーマ作成プラグインの注意点として、子テーマ作成後の子テーマのファイル構成はプラグインから変更することが出来ません。
子テーマ作成後にheader.phpを子テーマに追加したいという場合は直接子テーマディレクトリにFTPなどでアップロードする必要があるので注意してください。
テーマディレクトリのアクセス権限を厳しくしている場合は注意
子テーマの作成にあたって新規ディレクトリの作成・ファイルの新規作成があります。
もしWordPress のセキュリティを高めるためにテーマディレクトリのアクセス権限を厳しくしていてWordPressから変更できない状態にしていた場合は一時的に解除しましょう。
子テーマ作成プラグインを使ってもアクセス権限の問題で子テーマを作成できない可能性があります。
セキュリティプラグインでテーマエディター機能を無効化していたり、KUSANAGIをデフォルト設定のまま使っていると発生しやすいので注意しましょう。
テーマをカスタマイズしたいが上手く行かない場合は?
テーマのカスタマイズをやろうとしてみたものの上手く行かない場合は当サイト「WordPressのお医者さん」までご相談ください。
- テーマに独自機能を追加したい
- サイトのセキュリティを強化したい
- WordPressを更新したらサイトが真っ白になってしまった
などなど。WordPressで困っていることであれば何でもご相談ください。2000サイト以上ものWordPressを立ち上げたエンジニアが対応いたします。