WordPress子テーマについて知っておくべき事と注意点【子テーマユーザー必読!】

WordPressの子テーマについて知っておくべき事と注意点【閲覧注意!

以前、こんな記事を書きました。

【WordPress子テーマとは】作り方と必要性を2ステップで簡単解説

子テーマを作るメリットは主に下記の2点です。

テーマをアップデートしても、カスタマイズした内容が消えない
テーマ編集時の不具合があっても、親テーマは無事なので対応しやすい

WordPressでカスタマイズをするなら、「子テーマ」を作っておくと本当に助かります。

この記事ではテーマ更新通知が来た時の対処法や、子テーマを導入しているとなぜカスタマイズが消えないのか?という疑問を解決しながら、知っておくべき仕組みや、導入後の注意点を紹介していきます。

スポンサードサーチ

【子テーマの仕組み】phpとcssファイルを解説

作業は簡単2ステップ(所要時間10分)

この画像は【WordPress子テーマとは】作り方と必要性を2ステップで簡単解説の記事でも紹介しましたが、右が親テーマ、左が親テーマの機能を引き継ぎ、サイトを自由にカスタマイズさせるために作った子テーマです。

その時に、下記ファイルを作り子テーマにアップロードしました。

 function.php

style.css

 

phpは上書きされる

テーマ内のファイルは基本的に、【1) 親テーマ】 → 【2) 子テーマ】の順に読み込まれます。

子テーマに追加した【single.php】は、親テーマの【single.php】の後に読み込まれるということです。図で示すとこんな感じ。

子テーマの仕組み

このようにデータは上書きされ、実際のサイトには、子テーマの【single.php】の内容が表示されます。

なので、子テーマ側をカスタマイズすることでサイトに反映されるようになるんですね。

基本的に、親テーマと子テーマ内に同名ファイルが存在する場合、どのファイルも子テーマ側ファイルがサイトに表示されます。

つまり、子テーマの作り方についての記事と同じ手順を踏めば、どんなphpファイルも親テーマ内のファイルを崩すことなく、安心カスタマイズができるようになります。

⚠️【functions.php】は例外です。このファイルはテーマの根幹を担う大黒柱的なファイルなので取り扱いには十分注意が必要です。

 

style.cssは追加される

style.cssは“追加”。ここが〇〇.phpとは違うところ。

 

一方、子テーマに追加したスタイルシート(style.css)は親テーマに加筆されます。

読み込み順は【親】→【子】です。イメージはこんな感じ。

【図解】style.cssは“追加”。ここが〇〇.phpとは違うところ。

 

子テーマの作り方についての記事でも、子テーマを作り終わった時点では「style.css」の中身はこれだけでした。

それでも、サイトには様々なデザインが施されていたはずです。

これは親テーマの方のスタイルシートを読み込んでいたからなんですね。

もちろん、このスタイルシートも子テーマに記載した内容はテーマアップデート後も消えることはないので安心カスタマイズが可能です。

追記コードを下部に書き足していくだけでOKです。

 

追記例

本ブログのhタグカスタマイズはこんな感じです。

 

補足:style.cssはここでも編集可能

スタイルシートは【外観】→【CSS編集】からも編集できるので、「子テーマ?」「コードをいじったり、アップロードしたりするのはちょいムズいっす」って方はこの場所だけ触るのも一つの手です。

外観→CSS編集

 

子テーマ導入時のアップデートで起こる問題と解決策

以上が子テーマの仕組みでした。

子テーマを導入すれば親テーマがアップデートされないので、サイトカスタマイズをしたい人にとっては便利ですね。

しかし、ひとつ注意点があります。

注意点親テーマがアップデートされ内部記述に変更があっても、子テーマに組み込んでいる同名ファイルの内容が上書き出力される

 

よくわからないという方のために解説します。

WordPressがアップデートされていくように、テーマもアップデートを繰り返していきます。

エラー修正や新機能追加などがあった場合にアップデートされることが多いのですが、テーマ制作元がアップデートしてくれるのは親テーマだけなので、子テーマは自分でアップデートする必要があります。

自分で子テーマをアップデートをしないと親テーマは最新バージョンなのに子テーマは旧バージョンのままなので、不具合の修正や新機能の追加に対応出来ていないという事態に陥ります。

親テーマのアップデート内容が大規模であればあるほど新機能が使えない、エラー対応ができない、レイアウト崩れなどが起こるという可能性が高まります。

 

【解決策】子テーマファイルも差し替えよう

子テーマをアップデートしていかないと最新親テーマの恩恵を受けられないので解決する必要があります。

解決策は下記の通り簡単なので覚えておきましょう。

子テーマファイルのカスタマイズを新バージョンのファイルに反映して差し替える

これで子テーマアップデートは完了です。

方法は簡単なのですが、作業は結構めんどくさいです。実際にどんな作業がめんどくさいのかを解説します。

 

どんな作業が必要なの?

下記の条件を例に解説。

あなたはこテーマで【single.php】をカスタマイズ中
テーマアップデートで親テーマの【single.php】が更新された

この場合、新しく子テーマ用の【single.php】ファイルを作成し再アップロードする必要があります。

アップデートが少なければ一つ一つ手作業でもOKですが、大規模アップデートになるとどこが書き換えられているのかを探すことも、それらを全部自分で書き換えるのはかなりの大作業です。

なので、子テーマを使う場合は「親テーマのアップデートに伴う子テーマアップデート作業が発生する」ということを認識した上で使わないと、あとあと面倒なことになるのでしっかり理解しておきましょう。

 

めんどいのはイヤ。けど子テーマは使いたい

そんな方もいると思うので、最後におすすめツールを紹介しておきます。

mergely

mergelyを使えば、ファイルの違う箇所を瞬時に見つけることができますよ。使い方は左右のボックスに比較したいテキストを貼り付けるだけです。

 

【補足】これだけじゃ、アップデート通知が消えない

ちなみに、この子テーマアップデート作業をしただけでは管理画面上のアップデート通知が消えないことがあります。

気にしなければいいだけなのですが、通知がつきっぱなしはイヤという場合は、スタイルシートのバージョン部分を最新のものに書き換えれば解決します。

スポンサードサーチ

まとめ

まとめ

ということで、本記事のまとめです。

 

子テーマを作るメリットテーマをアップデートしてもカスタマイズした内容が消えない。
テーマ編集時の不具合があっても親テーマは無事なので対応しやすい。
子テーマの仕組みテンプレートファイルは子テーマ側の同名ファイルに上書きされてサイト表示される。
スタイルシートは親テーマに子テーマが加筆されて表示される。
子テーマ導入時の注意点親テーマだけアップデートしても、不具合の修正や新機能の追加に対応できない。
アップデート内容が大規模であるほど、新機能が使えない、エラー対応できない、レイアウト崩れなどが起こる、可能性が高まる。

テーマアップデートの際は子テーマも書き換えよう

そんなときは、子テーマファイルのカスタマイズを新バージョンのファイルに反映して差し替えることで解決。

シェアしてくれると嬉しい

Scroll to top