WordPressのテーマを使っていて、「子テーマを編集(カスタマイズ)したけれど反映されない」となった方のために、子テーマについてまとめておきます。
目次
そもそも子テーマとは
親テーマを元に作られている、簡単にいえば編集(カスタマイズ)専用のテーマのことです。
子テーマを編集して配色などの設定を変えると、元である親テーマにはそれが反映されますが、親テーマで配色などの設定を変えても子テーマにはそれが反映されません。
「ん??なら、ずっと親テーマだけ編集していればいいのでは??」と思うかもしれませんが、親テーマは、テーマの更新を行うことがありますよね。
こういう時です。
この更新を実行することにより、ちょっとでも手を加えていたcssやphpのデータが全て消えてしまうんです。
例えば親テーマの「functions.php」に、【アドセンス】3番目のh2タグの上に記事内広告を設置する方法で書いたような、アドセンス関連のコードを追加したとします。
しかし、テーマの更新があった際にそれを実行すると、せっかく追加したアドセンス関連のコードは「functions.php」から消えてしまい、また一から追加しなければいけなくなります。そんなのとっても面倒ですよね。
逆に子テーマはテーマの更新があったとしても、何も影響を受けません。更新で影響を受けるのは親テーマだけなのです。
functions.phpやstyle.cssは親テーマだけではなく、子テーマにも存在しています。functions.phpやstyle.cssに何か追記する必要が出来たら、子テーマの方に追記するようにしましょう。
「cssやphpを触るなんて私には怖くて無理だし関係ない」と思うかもしれませんが、ブログスキルが少しずつでもUPしていれば、cssやphpを触りたくなる機会も出てくるので、最初から子テーマで編集する癖をつけておくことをおすすめします。
面倒くさがりな人は尚更子テーマで編集した方が後々楽に思えるはずです。
子テーマの使い方
使い方は親テーマと同じですが、子テーマを用意したら、編集(カスタマイズ)は必ず子テーマで行い、親テーマは一切触らないようにするのが基本です。
編集する際はテーマを「有効」にする必要がありますが、子テーマで編集が終わったら親テーマに戻って親テーマを「有効」に…なんてことはしてはいけません。
子テーマはずっと「有効」にしておくのが正しい使い方です。
え??なんで??と思った方は次の「子テーマが反映されない理由」を読んでください。
子テーマが反映されない理由
子テーマを編集したら、親テーマに有効を戻している
「そもそも子テーマとは」の箇所で「子テーマの編集は親テーマに反映される」と書きましたが、これは子テーマを「有効」にしている時だけです。
「え?じゃあ親テーマに戻したら意味ないじゃん」と思うかもしれませんが、戻さなくて良いんです。子テーマは有効にしたままにするのが正解なんです。
WordPressを始めて最初の数ヶ月や1年くらいは親テーマで編集し、少し慣れてきた途中から子テーマを使おうと思った方も多いと思いますが、そんな方にありがちなのが、子テーマを編集したら親テーマに「有効」を戻すという行為、これが間違いです。
子テーマを使うと決めたら、編集(カスタマイズ)は必ず子テーマで行い、親テーマは一切触らないようにしてください。親テーマ側でしていた配色などの設定は子テーマ側に再設定する必要がありますが、ちょっとした時間にやればすぐ終わります。
「子テーマでやった編集が反映されていない」と思った時は、子テーマを「有効」にしたまま、編集した箇所が反映されているかどうかを今一度確認してみてください。
補足:親テーマにしかないファイルを編集したい場合は、子テーマにファイルをコピーして編集することも可能です。
子テーマについてのまとめ
- 子テーマは簡単にいえば編集(カスタマイズ)専用のテーマ
- 子テーマの編集は親テーマには反映されるが、親テーマの編集は子テーマには反映されない
- 子テーマを後から使い始めたら親テーマで設定した編集を、子テーマにもし直す
- 子テーマはテーマの更新があったとしても影響を受けない、受けるのは親テーマだけ
- 子テーマはずっと「有効」にしたままにするのが正解
- 親テーマは編集には使用せず、編集する時は子テーマでする
以上、私の今までの経験による子テーマについてのまとめでした。
子テーマを使い始めてしばらくは「編集したけれど、親テーマに反映されない…おかしい」と、ずーっとモヤモヤしながら使っていましたが、子テーマについて理解できてからはそのモヤモヤもスッとなくなりました。
私のように、始めは子テーマという存在を知らずに親テーマのみを使って編集していた方は色々勘違いをしていることも多いと思うので、これをきっかけに少しでも参考になれば嬉しいです。