管理画面を開くと、
Warning: Cannot assign an empty string to a string offset in /home/xxx/yyy/public_html/wp/wp-includes/class.wp-scripts.php on line 486
というエラーが出るという相談がありました。
こういう場合は、
- テンプレートが原因
- 有効化しているプラグインが原因
のどちらかです。
1)テンプレートをかえてみる
まずはテンプレートを{Twenty Seventeen}へかえてみました。WordPressの標準のテンプレートです。変化無し。
今回のエラーは、テンプレートは関係無いようです。
2)プラグインの無効化
今回のケースでは、11個のプラグインが有効化されていました。そんなに多く無いので一つずつ無効化していきます。
すると、{Simple PDF Viewer}というプラグインを無効化したところでエラーが消えました。つまりこのプラグインが原因だったということです。
このプラグインは、2年前を最後にアップデートがされていませんでした。その間のWordPressのアップデートで、対応しなくなったのでしょう。
更にプラグインを探ってみたところ、30行辺りにある下のコードが原因だと判明しました。
1 2 |
wp_localize_script( 's_pdf_admin_script', 's_pgf_doch', $s_pgf_doch); wp_localize_script( 's_pdf_admin_script', 's_pgf_bttn', $s_pgf_bttn); |
多分、 $s_pgf_dochと$s_pgf_bttnの変数が空白だからエラーが生じているのでしょう。下のように書き換えたらエラーが消えました。
1 2 3 4 5 |
if($s_pgf_bttn){ wp_localize_script( 's_pdf_admin_script', 's_pgf_bttn', $s_pgf_bttn); }else{ wp_localize_script( 's_pdf_admin_script', 's_pgf_bttn', array() ); } |
以上。
参考になれば幸いです。