【WordPress】wp_deregister_script が誤って呼び出されました。ログイン画面のエラーを修正方法
WordPressをデバッグモードに切り替え動作確認していると、ログイン画面にエラーが突如表示されるようになりました。
もしかしてハッキングされてしまった?と一瞬焦ったのですが、テーマファイルの記述ミスのようです。
「wp_deregister_script が誤って呼び出されました。」が表示されてしまった時の対処方法をまとめてみました。
エラーの原因と修正方法
今回発生したエラーは、WordPressをデバッグモードに切り替えてWordPressのログイン画面を表示した時に下記のエラーが表示されました。
基本的にログインするのが面倒なのでログインしっぱなし状態にしているのですが、今まで気づかなかったです。
表示されているエラー内容を見ると、WordPress本体のファイルでエラーになっているように思ってしまいますが、現在利用している「functions.php」ファイルに記述ミスがあります。
テーマのfunctions.phpファイルを修正する
テーマのfunctions.phpファイルがある場所は、下記になります。
/wp-content/themes/利用しているしているテーマフォルダ/functions.php
このファイルをエラーが表示されている指示に従って修正してあげます。
「wp_deregister_script」でファイル内を検索して「wp_enqueue_scripts」に書き換えてください。子テーマとして使っている場合は、子テーマと親テーマにを確認してください。
■修正前
wp_deregister_script('jquery');
■修正後
wp_enqueue_scripts('jquery');
フックとして呼び出している場合は、下記のような書き方になっているかと思います。その場合も同じように修正します。
■修正前
add_action('wp_print_scripts', 'add_js_script');
■修正後
add_action('wp_enqueue_scripts', 'add_js_script');
※テーマによって記述方法が異なると思いますが、「wp_deregister_script」で記述されているすべてを「wp_enqueue_scripts」に書き換えてください。
修正後は、動作確認を必ず行ってください。というのも、テーマファイルの根幹であるfunctions.phpを修正しているため修正ミスがあるとサイト全体に影響が出る可能性があります。
キャッシュプラグインを使われている方はキャッシュプラグインを一度無効にして動作確認してください
最後に
今回のエラーはWordPressをデバッグモードに切り替えたときにエラーが表示されるようになりましたが、通常モードの場合エラーは表示されません。
動作には問題ないのですが、今後WordPressがバージョンアップしていく中で、不具合となる場合があります。デバッグモードで警告やエラーが表示されたらなるべく対応するようにしましょう。
※デバッグモードを通常モードに切り替えも忘れずに!
コメント
コメントを残す