WordPressのカスタマイズには子テーマが必須です。
慣れてくると、FTPソフトを使って親テーマから必要なファイルを取り出し、子テーマフォルダ内にアップロードしてカスタマイズする機会も出てくると思います。
しかし、この作業には大きな不安要素もあるんです…。
親テーマ内の対象ファイルを子テーマにコピーしてカスタマイズしている人は要注意。
子テーマは親テーマよりも優先される
子テーマは、親テーマを基準としてその上からカスタマイズするときに使います。
親テーマの上に子テーマを上書きする仕組みになっていて、カスタマイズしたいファイルのみを子テーマフォルダに入れることで部分的にカスタマイズすることができる便利な機能です。
とにかくここで重要なのは、「親テーマよりも子テーマが優先される」という点。
例えば、親テーマと子テーマに全く同じ名前のファイルが存在する場合、子テーマのファイルが優先的に適用されます。
当たり前のことなんですが、まずはこれをしっかり理解しておいてください。
親テーマを更新しても子テーマは更新されない
そもそも子テーマを使う理由ですが、そこにはつい先ほど紹介した理由以外に「親テーマを更新しても子テーマは更新されない」という特性があるからです。
WordPressで使っているテーマにもよりますが、多くの人気テーマは機能の追加や不具合の修正等のアップデートが度々行われているはず。
その際は親テーマのみが更新され、子テーマのフォルダ内にあるファイルは過去のデータのままなんです。
子テーマが勝手に更新されないからこそ、苦労してカスタマイズした内容が保てるんですが、逆にテーマを更新しても子テー内のファイルは古いままだということを忘れてはいけません。
子テーマを扱う時には、少なくともこの2つの特性を理解しておきたいです。
- 親テーマよりも子テーマが優先される
- 親テーマを更新しても子テーマは更新されない
親テーマのファイルを子テーマにコピーして使う際は要注意
上記特性を理解したうえで注意したいのが「親テーマのファイルを子テーマにコピーしてカスタマイズする場面」。
最初に子テーマを作る最は「style.css」と「functions.php」の2つしかファイルがないので、実際カスタマイズする時は対象となるファイルを子テーマに複製する必要があります。
問題となるのはここです。
この時カスタマイズするため子テーマフォルダ内に複製したPHPファイルは、テーマをアップデートしても更新されません。
もちろん親テーマ内に存在する同名ファイルは更新されているんですが、子テーマのファイルが優先される仕組みになっているため、そのファイルだけ古いデータが使われることになります。
ここを理解せずにむやみに子テーマをカスタマイズし続けると、「更新されたPHPファイル」と「過去のPHPファイル」との間にズレが生じて不具合が発生します。
自分がカスタマイズしたファイルはしっかりと把握しておくことが大切。そうすればどのファイルが原因で不具合が起きているのかも判断できます。
やみくもにやると原因が全く分からなくなってしまうので気を付けたいですね。