【WordPress】wp_deregister_script が誤って呼び出されました。ログイン画面のエラーを修正方法

WordPressをデバッグモードに切り替え動作確認していると、ログイン画面にエラーが突如表示されるようになりました。

もしかしてハッキングされてしまった?と一瞬焦ったのですが、テーマファイルの記述ミスのようです。

「wp_deregister_script が誤って呼び出されました。」が表示されてしまった時の対処方法をまとめてみました。

エラーの原因と修正方法

今回発生したエラーは、WordPressをデバッグモードに切り替えてWordPressのログイン画面を表示した時に下記のエラーが表示されました。

Notice: wp_deregister_script が誤って呼び出されました。管理画面では jquery スクリプトの読み込みをオフにしないでください。フロントエンドテーマだけをターゲットにするには、wp_enqueue_scripts フックを使いましょう。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 3.6.0 で追加されました) in /home/local/local.test.jp/public_html/wp-includes/functions.php on line 4147

基本的にログインするのが面倒なのでログインしっぱなし状態にしているのですが、今まで気づかなかったです。

表示されているエラー内容を見ると、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がバージョンアップしていく中で、不具合となる場合があります。デバッグモードで警告やエラーが表示されたらなるべく対応するようにしましょう。

※デバッグモードを通常モードに切り替えも忘れずに!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です