「テーマ」とはwordpressで外観を決めるためのデザインやレイアウトを決めるデザインテンプレートのことです。
WordPressのテーマには、親テーマと子テーマの2つが有ります。
それぞれの役割について説明します。
このサイトは、有料テーマ「swell」を使っています。
親テーマとは?
サイトのすべてを構成するファイルを有しています。
親テーマがあればサイトは表示することができます。
親テーマはWordPressのデザインの基本となるテンプレートです。一般的に「テーマ」と言う場合は親テーマのことを指します。
子テーマとは?
無料・有料ともに既存のテーマには子テーマが有ります。親テーマの分身の様なものです。
親テーマをカスタマイズするために必要なテーマファイルのことです。
カスタマイズに必要な最小限のファイルで構成されていて、親テーマには影響を与えずにカスタマイズすることができます。
親テーマをいじらないのでテーマ全体に支障が出ることは有りません。
必要最低限のファイル
・functions.php :機能を登録するファイル
・style.css :デザインや体裁を整えるファイル
子テーマがなぜ必要なのか?
親テーマでサイトが作れるのに、子テーマを作るのはなぜでしょうか?
なぜについて解説です。
テーマをアップデート(更新)してもカスタムした内容が消えない
親テーマだけでサイトは表示出来るのに子テーマが必要なのは、「テーマはアップデート(更新)」が有るからです。
パソコンのOSやWordPressやプラグインと同じように不定期ですがアップデート(更新)がされています。これはセキュリティ対策や不具合改善、機能追加など進化しています。
テーマのアップデート(更新)を行うと、新しいデータで上書きされ全て初期化されてしまいます。
親テーマに直接カスタマイズした場合は、アップデートが有るとそのカスタマイズが消えてしまうことになります。
蓄積してきたカスタマイズが消えてしまうのを防ぐために、このアップデート(更新)の影響を受けずに済む方法として「子テーマ」が有るのです。
子テーマは、親テーマのデザインや機能を引き継ぎアップデートの対象では有りません。この子テーマに加えたカスタマイズはそのまま残るわけです。
そのためカスタマイズは子テーマに行うようにと言われるわけです。
テーマを編集した際のエラーを防ぐ
親テーマはサイトの全てのファイルが有ります。
その親テーマを編集することでエラーが発生する場合があるのです。
カスタマイズした際に誤って必要なコードを削除してしまったり不用意な記述をしてしまうことで、サイト全体に不具合を起こしてしまいます。
子テーマにカスタマイズすることは、これらのエラーを防ぐことが出来るのです。
子テーマは、ファイルに上書きをしてカスタマイズをおこないます。
元のファイルと上書きしたファイルが別々に保存されるため、上書きしたファイルを削除すれば元のファイルを復元することができます。
子テーマは必ず必要?
テーマをカスタマイズする必要がなければ必ずしも必要では有りません。
初心者のうちは操作を覚えるだけでも手一杯なのでカスタマイズなどはしないと思われるかもしれませんが、段々と知識も増えてくるとテーマをカスタマイズしたくなることがでてくると思います。
そんな時に子テーマを導入していないと親テーマを直接カスタマイズしてしまう可能性が有ります。そのことを知らずに親テーマのアップデート(更新)をしてしまうと、そのカスタマイズが消えてしまうことになりかねません。
そんな時に慌てないためにも子テーマは導入しておいたほうが良いと思います。
同じテーマをずっと利用し続ける場合は良いのですが、この先他のテーマを使う可能性は否定できないと思います。
親テーマであろうと子テーマであろうと追加や編集した内容は、他のテーマには反映できません。
子テーマを使うデメリット
サイト自体が重くなることが一つです。
親テーマに加えて子テーマを読み込む必要が有るため表示速度が遅くなります。
子テーマは上書きするテーマ
子テーマには、「function.php」と「style.css」が保存されています。
「子テーマ」とは「親テーマ」の情報を上書きします。
どういうことかというと、WordPressがテーマファイルを読む順番を見るとわかります。
- 最初に、必要とするファイルを「子テーマ」のフォルダで探す
- 「子テーマ」のフォルダに必要ファイルがあったら、それを読む
- 「子テーマ」のフォルダに必要ファイルがなかったら、「親テーマ」のファイルを読む
style.css:「親テーマ」⇒「子テーマ」の順に読み込まれますが「上書き」ではなく「追加」されるのです。
function.php(機能を登録ファイル):「子テーマ」⇒「親テーマ」が読み込まれ両方が動く状態になります。
おわりに
wordpressテーマの「親テーマ」と「子テーマ」について関係性について説明でした。
テーマによっては「子テーマ」が無い場合が有ります。自作することもでき、プラグインで簡単に子テーマを作ることもできます。
コメント