WordPressで子テーマの必要性や、実際どんな時に子テーマを使うとよいのか?というご相談を頂きました。
目次
子テーマについて質問させてください。
これから、ブログを始めようと考えている素人です。ワードプレスを活用する時に、子テーマを使う重要性を、ネットなどを見ると伺うことが出来ますが、実際どうやって子テーマを活用していくのかがわかりません。
よくカスタマイズするときは子テーマで行うのがよい、と言いますが、カスタマイズとはどこまでのことを言うのかよく分かりません。
例えば、プラグインをインストールして有効化したり、テーマ内にある機能の範囲内でする外観編集などはカスタマイズでしょうか?
そうした場合、親テーマはデフォルトのまま使用し、子テーマで上記のような編集をするイメージなのか?色んな意味で???と言った感じです。
完全な素人質問で恐縮ですが、まとめると、ブログを作成する場合、「親テーマをどのように使い、子テーマをどのように使うか」を、ご教示下さると、大変ありがたいです。
子テーマの必要性。子テーマが必要になるケース 不要なケース
吉岡 様
ご相談ありがとうございます。
恐らく、同じような疑問を抱えた人は多いのではないでしょうか。中には「良く分からないけど子テーマを使おう!」と考える方も多いかもしれません。
子テーマの有用性についてはお調べになった通りかと思います。
テーマをアップデートする際に加えた変更を無かった事にされないように・・・というのがメインではないでしょうか。
子テーマが必要になるケース
子テーマが必要(あった方が良い)なケースについて解説します。
これは、使っているテーマのPHPやCSSを編集したい場合です。
外観 > テーマ編集 がそれに該当します。
例えばTwenty Seventeenのテーマなら
/wp-content/themes/twentyseventeen
の階層に様々な〇〇.phpが格納されています。
テーマ内のファイルについてはこちらをご覧ください。名称によって役割が決まっています。
WordPress Codex テンプレート階層
具体的に言えば、以下のようなケースです
- 投稿記事ページ single.php で、全記事の下に共通の文言を表示させたい
- header.phpにアナリティクスのタグや、個別のソースを読み込ませたい
- style.cssに追記したい
こういった場合はtwentyseventeenフォルダ内のファイルに手を加えることになります。これらのファイルに直接手を加えても、更新すると最新バージョンのファイルで上書きされるため、修正内容が失われてしまいます。
テーマフォルダのファイルを直接編集する場合、子テーマに当該ファイル(single.php header.php など)をコピーしてきて、編集を行う方が良いでしょう。親テーマを更新・アップデートしても、子テーマの内容が優先されます。
子テーマが不要なケース
次に、子テーマが不要(必ずしも必要でない)なケースについて。
デフォルトのテーマをそのまま使い、外観 > カスタマイズ で見た目を変更する程度であれば、必ずしも子テーマを作成しなくても良いでしょう。
ただし、外観 > カスタマイズ の項目にはテーマ独自のものもあるので、テーマを変更する際に全てが引き継がれるかはわかりません。
例えば、後からテーマを編集したくなって子テーマを作っても、子テーマに親テーマの外観>カスタマイズ内容が全て引き継げるかは分かりません。(やったことがないためです)
「サイト基本情報」「ホームページ設定」などはテーマに依存しない設定なので問題ないと思いますが・・・
CSSの追記手段
CSSを編集したい場合、外観>カスタマイズ に「追加CSS」という項目があります。
CSSだけを追加できるプラグインもあります。以下の記事では「Simple Custom CSS 」についても触れています。
WordPressのテーマで背景のデザインを変える方法
WordPressの記事ページのみにカスタマイズCSSを適応させたい
個人的には、CSSを加えたいだけならプラグインを使う方が管理上便利かなと思います。
例えば、ボタンのデザインなどをCSSで行うと、テーマを変えても引き継いで使いたい場面が出てくると思います。プラグインの内容はテーマを変えてもそのまま有効です。サイトで長期的に使いたいCSSはプラグインで管理するのも一つの手です。
まとめ
>プラグインをインストールして有効化したり、テーマ内にある機能の範囲内でする外観編集などはカスタマイズでしょうか?
というご相談がありました。
前項までで解説できていると思いますが、一応補足します。
プラグインの有効化はカスタマイズか?
プラグインはテーマとは関係ありません。テーマを変更しても、プラグインの設定はそのまま反映されます。
ただし、プラグインを使う際に独自のコードをテーマに直接記述するケースもあります。この場合はテーマを変えたらそのコードも新しいテーマに記述しなくてはいけません。(これも、テーマの編集になるので子テーマで行うのがベストです)
テーマ内にある機能の範囲内でする外観編集などはカスタマイズか?
テーマ内機能の外観編集。これは、テーマのファイルを直接編集しているわけではありません。〇〇.phpに変更は加わりません。
厳密にはテーマカスタマイズ・テーマ編集とは言えないカスタマイズです。
そのため、必ずしも子テーマを作る必要はありませんが、親テーマで加えた外観>カスタマイズの内容が子テーマにそのまま引き継げるかはわかりません。不安な場合は子テーマを作ってから、子テーマで外観>カスタマイズすると良いでしょう。
結論としては、子テーマは必須ではないが、作っておけば後からPHPファイルを編集したい状況になっても対応がしやすい・・・となります。
参考にして頂ければ幸いです。