10/3 「広告表示に関して」を掲載。【重要】
記事内に広告が含まれています。

WordPressのつまづきポイント:WordPressテーマ「Dashy」の子テーマ作成時のエラー

スポンサーリンク

おことわり

衝撃的な解決方法だったので、同様のエラーが出た方のためにメモを残します。

ちなみに、私は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の知識がありません。
カスタマイズ画面が表示され、問題なく作業も出来ているので「解決」と判断しましたが、間違っている可能性も十分あります。

毎度のことではありますが、上記の解決方法を参考になさる場合は、
「必ずバックアップを取ってから」
「自己責任で」
お願いします。

自信持ってお手伝い出来なくて、ごめんなさい。
あなたのトラブルも無事解決しますように。


参考


〔広告〕

コメント