おことわり
衝撃的な解決方法だったので、同様のエラーが出た方のためにメモを残します。
ちなみに、私はWordpress初心者レベルで、PHPの知識はありません。
ですので、一応解決はしましたが、以下の方法を参考になさる場合は自己責任でお願いします。
現象
- WordPressテーマ「Dashy」の子テーマを作成後、子テーマのカスタマイズを開こうとしたら、「サイトに重大なエラーが発生しました。」というエラーが表示され、カスタマイズ不可能な状態に。
- 同時に「サイトで技術的な問題が発生しています」というタイトルのメールが届く。
発生条件
- 他のテーマで同様に子テーマを作成したところ、問題無くカスタマイズ画面が表示される。
→自分の記述ミスではなく、テーマ固有のものと予想。
解決手順
まず、メールに記載された「エラー詳細」を確認。
エラータイプ E_COMPILE_ERROR が ~/themes/dashy/ripplethemes/customizer-settings/customizer-settings.php ファイルの 34 行目で発生しました。
エラーメッセージ: require(): Failed opening required ‘~/themes/dashy-child/ripplethemes/customizer-settings/pro-button.php’ (include_path=’.:/usr/local/php/7.4/lib/php’)
(※~の部分は割愛)
・customizer-settings.php
・pro-button.php
この2点に問題がありそう。
pro-button.php
「customizer-settings.php」を見ると、確かに34行目に「pro-button」に関する記述。
「pro-button.php」を参照してるようなので、何かが足りないんだろうと思い、
「pro-button.php」の中をスペルミスや変な文字が無いか、ざっと見る。
(というか、それぐらいしか出来ない。)
customizer-settings.php
次に「customizer-settings.php」をチェック。
すると、
(※以下、抜粋)
// related Posts
require get_template_directory().'/ripplethemes/customizer-settings/single-page-settings.php';
// pro button
require get_stylesheet_directory() .'/ripplethemes/customizer-settings/pro-button.php';
// category
require get_template_directory().'/ripplethemes/customizer-settings/categorysec-opt.php';
「pro button」だけ「get_stylesheet_directory」になっている。
しかも「get_stylesheet_directory()」の後に半角スペース。
(今まで「うっかり半角スペース」に何度も泣かされたので過敏なんです。)
え、え、まさかだよね。
コピペとかしてるうちに間違っちゃって・・・とか、そんなことないよね?
でも、この行だけ半角スペースってのも、なんだかあやしい・・・。
ということで、
ダメ元で「get_stylesheet_directory」を「get_template_directory」に書き換えてアップ。
もちろん半角スペースも消しました。
はい、解決。
カスタマイズ画面、表示出来ました~。
まさか、こんな単純なことだったとは・・・。
最後に
再度申し上げますが、私はPHPの知識がありません。
カスタマイズ画面が表示され、問題なく作業も出来ているので「解決」と判断しましたが、間違っている可能性も十分あります。
毎度のことではありますが、上記の解決方法を参考になさる場合は、
「必ずバックアップを取ってから」
「自己責任で」
お願いします。
自信持ってお手伝い出来なくて、ごめんなさい。
あなたのトラブルも無事解決しますように。
参考
- WordPressテーマ「Dashy」
https://wordpress.org/themes/dashy/
コメント