child-theme-mechanism_ecmg-ps

ワードプレス

WordPressで子テーマを作る際に知っておくべき仕組みと注意点

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

テーマの更新通知がきてアップデートしたら・・カスタマイズが全部消えたっ!

サイト表示がボロボロ・・もしや、重要な記述をうっかり消してしまったのか!?

ありがちな事件ですが、子テーマを作っておけば安心ですよね。アップデートしてもカスタマイズは消えません。何か不具合があったときにも元となる親テーマは無事なので対応しやすい

下の記事では子テーマの「作り方」だけにフォーカスして紹介しました。
作るだけならたったの10分。

メリットが多くて導入もしやすい子テーマですが・・知っておくべきことがいくつかあります。例えば、実際にテーマのアップデート通知が来たらどうでしょう?

customized-theme-update-01-ps

手探りのまま、安心してサクッとこなせますか?逆にサクッとテーマを”あやめて”しまいそうじゃないですか?サスペンスな夜を迎えそうでしょう?「結局、一方通行の愛だったんです」とか波打ち際の崖で淡々と語ってしまいそうでしょう?



child-theme-mechanism_ins1-1

失礼。取り乱しました。

ここでは【子テーマを導入していると、なぜカスタマイズが消えないのか?】という疑問を解決しながら、知っておくべき子テーマの仕組みや、導入後の注意点を紹介します

スポンサーリンク

子テーマの仕組み

「作り方」の記事で子テーマを作ったときに「functions.php」と「style.css」にコピーした記述。これらはあくまで、子テーマを認識させ、活用できるようにするための記述です

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
/*
Theme Name:MAG-child
Template:mag_tcd036
Version:1.23
*/

そしてテーマ内のファイルは基本的に、「親テーマ→子テーマ」の順に読み込まれます。例えば、記事ページをカスタマイズするために子テーマに追加した「single.php」は、親テーマの「single.php」の後に読み込まれるということ。

child-theme-mechanism-01

上の図のようにデータは上書きされ、実際のサイトには、子テーマの「single.php」の内容が表示される、というわけです。だから子テーマ側のカスタマイズが反映されるんですね。

基本的にはどのテンプレートファイル(「●●.php」)も、子テーマ側の同名ファイルに上書きされてサイト表示されます。つまり「作り方」の記事と同じ手順で子テーマに入れておくだけで、どのファイルにも同じように”安心カスタマイズ”ができるようになる、ということです。

「functions.php」は例外。彼はテーマの神様のような存在。詳しくなるまでは「触らぬ神に祟りなし」の方向で。

「style.css」は”上書き”ではなく”追加”される

テンプレートファイル(「●●.php」)とは違い、「style.css」はちょっと特殊。同じように「親テーマ→子テーマ」の順に読み込まれますが、上書きされることはありません

親テーマの「style.css」に、子テーマの「style.css」の内容を追加した形で出力されます

child-theme-mechanism-02

思い出してみると・・そりゃそーですよね。子テーマを作り終わった時点では、「style.css」の中身はこれだけでした。

/*
Theme Name:MAG-child
Template:mag_tcd036
Version:1.23
*/

この記述の後に追記したCSSは、親テーマがアップデートされても消えないので安心です。その他のテンプレートファイルと一緒。

追記例

/*
Theme Name:MAG-child
Template:mag_tcd036
Version:1.23
*/

/***** フォント装飾 *****/
.dpblue {
	color: #0011aa
}
.dpred {
	color: #db0646
}

上記の記述で子テーマの認識はされるはずですが・・・

子テーマの「style.css」に追記したものがうまく反映されない!

という場合、下記を「functions.php」として保存し、再試行してみてくだい。

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array('parent-style')
    );
}

この記述では、「親テーマの後に子テーマのスタイルシートをロードする」ことを、より明示的にしています。

なおTCDテーマであれば、テーマオプション内の「カスタムCSS」に追記してもOK。テーマをアップデートしてもそのまんま残ります。子テーマ同様の安心。優しさ。初心者への愛。

関連記事

テーマアップデート時の手順と注意点

子テーマ利用者のアップデート手順はこちらでまとめています。絶対失敗しない、王道アップデート方法。実際にアップデートするときには、ぜひ当記事とあわせて見返してください。

解説記事

アップデート時に起こりうる問題とは?

さて、子テーマを導入すれば、親テーマがアップデートされてもカスタマイズは消えない。その仕組みをお伝えしましたが、これは別の言い方をするとこうなります。

親テーマが新バージョンにアップデートされ、
その内部の記述が変わっていても、
子テーマに組み込んでいる、同名ファイルの内容が上書き出力される。

と、いうことは。

不具合の修正や新機能の追加などがあっても、
子テーマに組み込んでいる、同名ファイルの内容が上書き出力される。

つまり。

親テーマだけアップデートしても、
不具合の修正や新機能の追加に対応できない。

という問題が発生します。アップデート内容が大規模であるほど、新機能の恩恵を受けられないどころか、レイアウト崩れなどが起こる可能性も高くなる、ということです。

child-theme-mechanism_ins2

がーん。

子テーマファイルも差し替えれば解決!

解決策は単純。

子テーマファイルに施していたカスタマイズを、
新バージョンのファイルに反映して、差し替えればOK。

言葉だけ聞くとややこしそうに響くかもしれませんが、イメージはこんなかんじ。

customized-theme-update-23

そして便利な神ツールを使えば楽勝。下の記事でも紹介しています。このアップデート方法ならどんな大規模アップデートにも対応できます

そう、まさに「王道アップデート方法」なのです。

スポンサーリンク

アップデートの注意点まとめ

自分が子テーマに組み込んでいるテンプレートファイルが、今回のアップデートで・・

修正されている場合

customized-theme-update-04

(例)子テーマファイル/修正されたファイル

customized-theme-update-05-06

今までのカスタマイズを新ファイルに反映し、差し替える必要がある

修正されていない場合

そのファイルはそのまま放っておいてOK。以上。

【Tips】更新通知が消えない原因と対処方法

で、子テーマを利用している場合、親テーマをアップデートしても「もっと最新版がありますよー更新しなさいー」といつまでも通知され続けることがあります

child-theme_26

アップデートしたやんけ!もー通知すな!

と気にするほどでもないことなんですが、ちゃんとアップデートしたのに、通知が消えない。これはちょっとキモチワルイ。「子テーマあるある」のひとつです。

これも即解消できます。アップデートした親テーマのバージョンを見てみるともちろん 

child-theme_27

新しくなってます。じゃあ子テーマは?変わってるハズないですよね。ちょっと面倒ですが、こればかりは手動で書き直してあげましょう。

child-theme_28

child-theme_29

無事、通知も消えました。子テーマの恩恵に比べればラクな作業です。

ちなみに、同じ「テーマの編集」画面内の右上プルダウンから、編集するテーマを切り替えられます。バージョンの書き換えのためだけに、わざわざ親テーマを有効化する必要はありません。

child-theme_30

child-theme_31

関連記事

スポンサーリンク

記事が気に入ったら
Requ.logを "いいね!"
Facebookで更新情報をお届け。

Requ.log | レク.ログ

スポンサーリンク
スポンサーリンク

ピックアップ記事

  1. ”ブログにおいしい”、注釈画像の作り方。Screenpressoで矢印や枠線、文…
  2. ChromeでWEBページ全体をフルスクリーンショット!見ているページの全画面キ…
  3. Todoistとも連携。複数のメールアカウントを一括管理するMac・iPhone…
  4. WordPressで子テーマを作る際に知っておくべき仕組みと注意点
  5. 実践あるのみ!TCDテーマで学ぶ、記事装飾の簡単カスタマイズとCSSの基本

関連記事

  1. display-speed_ec

    ワードプレス

    目指せ軽量化!今からでも始めるべき、WordPressサイトの表示スピード改善計画/基本編

    あなたの●●●、ちょっと重すぎない? いえ、すみません。あなた…

  2. insert-card-link_ecmg

    ワードプレス

    クリックひとつで完成。Embedlyで見栄えの良いカード型の記事リンクを貼る方法

    リンク挿入、どうしてますか?記事を書いていると、「以前に自分が書い…

  3. retina_ecmg
  4. blog-theme-mag_ecmg-ps

    ワードプレス

    【使用者レビュー】WordPress初心者にこそおすすめのブログテーマ、TCD「MAG」のデフォルト…

    本当のことを話します。ワードプレスのブログテーマ【MAG】。このサ…

  5. annotation-image-ecmg

    ワードプレス

    ”ブログにおいしい”、注釈画像の作り方。Screenpressoで矢印や枠線、文字を追加しよう

    注釈画像も、自由自在。前回までの記事では、Windows用の万能ツ…

  6. simple-image-sizes_ec-ps

    ワードプレス

    メディア問題さん、さようなら。画像サイズを気ままに追加するプラグイン「Simple Image Si…

    挿入画像サイズ、もっと自由に選びたい。お悩み相談室のコーナーです。…

【Requ.log記事】魅力的なブログを、今すぐ作る。
tcd-mag
【Requ.log記事】魅力を活かす、カスタマイズまとめ。
tcd-mag

特集記事

  1. theme-change_ecrt
  2. retina_ecmg
  3. todoist-extension_ecmg
  4. valuable-content-from-image_ec
  5. todoist-tips_ecmg
  6. todoist_ec

タスク管理で、自己管理。

todoist

人気記事

  1. jpg-gif-png_ecmg
  2. compress-jpeg-png-images-ecmg
  3. media-setting_ec
  4. chrome-full-screen-capture-ecmg
  5. screenpresso-initial-setting_ec
  6. todoist-basic_ec-ps

魅力的なブログを、今すぐ作る。

tcd-mag

ピックアップ記事

  1. todoist-advanced_ec
  2. todoist-routine_ecrt
  3. todoist-productivity_ecmg
  4. firefox-full-screen-capture-ecmg
  5. jpg-gif-png_ecmg
  6. original-share-button_ecmg-ps

ブログのRetina対応、始めませんか?

retina-os-solution

掘り出し記事

  1. screenpresso-initial-setting_ec
  2. retina-os-solution_ecmg
  3. todoist-share_ec
  4. browzer-extension_ec
  5. todoist-re-schedule_ec
  6. LightShot-Screenpresso_ecmg

ゆっくり、フシギなGIFアニメ。

gif-animation

最近の記事

  1. firefox-full-screen-capture-ecmg
  2. chrome-full-screen-capture-ecmg
  3. enlarge-image-ecmg
  4. spark-tutorial-ecmg

とっておきのWordPressテーマ。

tcd-theme-selection

ピックアップ記事

  1. gif-animation_ec
  2. todoist-class_ecrt
  3. annotation-image-ecmg
  4. quicktag_ecmg
  5. spark-tutorial-ecmg
  6. intuitive-custom-post-order_ec

CATEGORIES

Requ.log | Recommend

WordPressテーマ「MAG(TCD036)」
WordPressテーマ「Bloom(TCD053)」

特集記事

  1. adjust-the-button_ecmg
  2. display-speed_ec
  3. todoist-tips_ecmg
  4. valuable-content-from-image_ec
  5. todoist-extension_ecmg
  6. tcd-theme-selection_ecmg-ps

人気記事

  1. compress-jpeg-png-images-ecmg
  2. chrome-font_ecmg-1
  3. media-setting_ec
  4. child-theme_ecmg
  5. child-theme-mechanism_ecmg-ps
  6. chrome-full-screen-capture-ecmg
  7. todoist-basic_ec-ps

最近の記事

  1. firefox-full-screen-capture-ecmg
  2. chrome-full-screen-capture-ecmg
  3. enlarge-image-ecmg
  4. spark-tutorial-ecmg
  1. improvement-flow_ecmg

    マネジメント

    ”セルフマネジメント”の第一歩。忙しくても頭と心は軽くしておく、自己管理術と生活…
  2. tcd-theme-selection_ecmg-ps

    ワードプレス

    【目的別】とっておきのWordPressテーマ比較。TCDテーマのおすすめメンバ…
  3. retina_ecmg

    ワードプレス

    【保存版】知ったら戻れない、美しさの極みへ。WordPress画像のRetina…
  4. extension-tools-for-bloggers_ec

    ブログ

    【作業順まとめ】ブログを彩る!記事作りが捗る!クオリティー底上げに役立つ10個の…
  5. adjust-the-button_ecmg

    ワードプレス

    【実例集】細部の余白まで美しく。オリジナルシェアボタンのデザイン変更と調整方法
PAGE TOP