【WordPress】遅ればせながら子テーマを導入した話

WordPress

現在、テーマはCocoonを使わせてもらっているのですが、更新が入っていたので最新版にアップデートしようと思いました。
【WordPress】WordPressで内部リンクを貼ったら混乱した話という記事でfunction.phpを変更したのですが、最新版にアップデートすると変更した内容が上書きされてしまうことがわかりました。

function.phpへの変更は軽微なものですが、最新版にアップデートする度に修正するのは手間です。

そこで、遅ればせながら子テーマを導入することにしました。

親テーマと子テーマとは

参考記事:『【基本】WordPressの親テーマと子テーマって何?

https://wakaru-web.com/wordpress/customize/親テーマ子テーマ/

「WordPressの親テーマ、子テーマとは?」というところから調べたのですが、私の理解は下記の通りです。

WordPressの親テーマ・子テーマ
  • 親テーマ:本体
  • 子テーマ:カスタマイズ用(のファイル群)

親テーマをベースに子テーマで加えたカスタマイズを反映することができるということですね。

カスタマイズする時に親テーマを直接編集することも可能ですが、親テーマのアップデートの度にカスタマイズがリセットされる(今まさに私が直面している状況)ので、カスタマイズは極力子テーマで実施したほうが良いということです。

最初に知りたかったですね…!
今更言ってもしょうがないので、粛々と子テーマをインストールしたいと思います。

子テーマをインストール

参考記事:『Cocoonの子テーマをインストールする

Cocoonの子テーマをインストールする
インストールしたテーマ(今回の場合はCocoon)に対してコードを書き換えるなどのカスタマイズを行う場合、直接Cocoonのファイルを書き換えるのではなく子テーマをインストールして子テーマの方をカスタマイズすると便利です。ここではCocoonの子テーマをインストールする手順について解説します。

基本的に、参考記事の手順通りに実施しました。

子テーマを有効化する前にしておくこと

子テーマをWordPressにインストールしたところで、一旦、親テーマのほうでやっておくことがあります。

カスタマイズ部分の退避

私は親テーマのfunction.phpを編集していたので、自分で追加したコードをテキストエディタなどに退避しておきます。

「外観」→「テーマエディター」→「テーマのための関数」を選択し、function.phpを開きます。
画像の赤枠で囲ったところが対象です。

親テーマのfunction.php

スキンなど変更を加えた箇所を控えておく

デフォルトのスキン以外を選択していたり、ヘッダーの背景色を変えていたので、設定を控えておきました。

Google AnalyticsのトラッキングIDやGoogle Search Consoleの認証IDは必ず控え、すぐに子テーマに適用できるようにしましょう。

親テーマのアップデート

親テーマをアップデートします。
アップデート後、「外観」→「テーマエディター」→「テーマのための関数」を選択し、function.phpを開きます。
自分が追加したコードがないことを確認します。

親テーマのfunction.php(親テーマアップデート後)

親テーマと子テーマに同じ名前の関数があるとエラーとなってしまうので、子テーマに記述する関数が親テーマにないことを必ず確認します。

子テーマを有効化した後にすること

子テーマを有効化した後にカスタマイズを行います。

function.phpの編集

親テーマから退避したコードを子テーマのfunction.phpに適用します。

「外観」→「テーマエディター」→「テーマのための関数」を選択し、function.phpを開きます。コードを追加し、「ファイルを更新」ボタンをクリックします。

子テーマのfunction.php

親テーマで変更していた設定を反映

スキンやヘッダーの背景色など親テーマで変更していた設定を反映させます。

Google AnalyticsのトラッキングIDやGoogle Search Consoleの認証IDなども必ず適用します。

親テーマの設定を子テーマに適用する。

最後に

今回は子テーマを導入してみました。
既に親テーマでカスタマイズを行っていたので、少し作業が増えましたが無事に導入が完了しました。
最初にカスタマイズを行う時点で親テーマ、子テーマについて深く調べておけばよかったかな、と思いましたが、今回の件を経てまた少しWordPressについて理解が深まったように思います。

今回の気づき
  • 親テーマはアップデートの際に自分で追加したカスタマイズがリセットされる。
  • カスタマイズを行うなら子テーマを導入する。

今後のカスタマイズが行いやすくなったということでよしとしたいと思います。

それでは、ここまで読み進めていただいてありがとうございました。

コメント

タイトルとURLをコピーしました