
Contents
Xeoryテーマの子テーマを変更しても反映されない場合の対応!!
子テーマの変更が反映されない。
WordPressのテーマ、「Xeory」の子テーマを作成しましたが、変更しても反映されませんでした。
原因を調べて対応しましたので、修正方法を解説します。
過去に2つのテーマを使った経験があります。
今回の「Xeory」は3つ目のテーマなのですが、子テーマが少しこれまでのテーマと異なるようです。
これまで通り、子テーマのフォルダを作成し、「style.css」だけを入れ、カスタマイズを行ってみたのですが、ファイルの内容を変更してもテーマに反映されませんでした。
少し調べて見ました。
あまり自身はありませんが、どうやら、親テーマを読み込み、子テーマを読み込むまでは、通常のテーマと同じなのですが、その後に再度親テーマを読み込んでいるように見えます。
つまり、本来なら、親テーマの上に子テーマを読み込むことで子テーマのカスタマイズを反映させるのですが、その後で親テーマを読み込んでしまっては、カスタマイズした子テーマの内容は反映されません。
そこで、本来の動作を変更し、単純に親テーマの後に子テーマを読み込んで終わりにするように変更すれば、子テーマのカスタマイズが反映されるはずです。
functions.php
修正には、CSSを読み込む関数を書き換えるのですが、ここでも子テーマを使って関数を書き換えます。
まず、子テーマに「functions.php」を追加します。
後は、「functions.php」の中に関数を追加します。
「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')); } ?>
中身は、2行目で関数の追加。
3~6行目が、その関数ですが、親テーマを読み込んで、子テーマを読み込むようにしています。
これで、子テーマの「style.css」をカスタマイズすれば、その内容が反映されるようになります。
しかし、問題点があります。
それは、元々の動作を変更している事です。
なぜ、元々のテーマが、親-子-親とテーマを読み込んでいたのか不明で、それが不明のまま、取り敢えず動作するように、親-子で終わりに変更しましたので、今後、このテーマを使うとどのような不具合が発生するか検討が付きません。
その為、この変更は、自己責任にて行ってください。
もし、動作に不安があり、自己責任が取れない場合はこの変更を行わないでください。
その場合、カスタマイズを行わないか、子テーマをやめて、親テーマをカスタマイズする事になると思います。
但し、親テーマのバージョンがアップした場合などに、カスタマイズ内容とバージョンアップ内容がバッティングする可能性があります。
バージョンアップを行い、再度カスタマイズを行うか、バージョンアップを諦めるかになると思います。
この状況を防ぐために、子テーマを導入する訳ですから、子テーマを止めれば親テーマのバージョンアップが困難になることは承知の事実です。
このサイトでは、不具合などが見つかれば、出来るだけ記事としてアップして行きたいと思っています。