今朝、blogのダッシュボードを見るとWordPress4.3のアップデートがありアップデートしたところ色々ワクワクするような機能が追加されてました。今日はその機能について書こうかなと思ったのですが、気がつくとNoticeエラーがダッシュボードだけでなく表側の画面にも表示されてしまいかなり焦りました。そのNoticeエラーを表示させなくなるまで色々な経緯があったのでそれについて書きます。
Noticeエラーが表示されていた状況
Noticeエラーが表示されていた状況ですが
こんなでした(^_^;。表側の画面でこれは…まずいです。
そもそもこれがみんなのWordPressで表示されているなら大きな問題になっているはずで、そうではないのできっと自分がなにかしでかしてるのだよねということまではわかりました。
このメッセージが伝えていること
エラーは
Notice: 呼び出された WP_Widget のコンストラクターメソッドはバージョン 4.3.0 から非推奨になっています! 代わりに __construct() を使ってください。 in /xxxx/xxxx/xxxx/wp-includes/functions.php on line 3457
このように表示されています。該当するソースを見ると、
if ( WP_DEBUG && apply_filters( 'deprecated_constructor_trigger_error', true ) ) { if ( function_exists( '__' ) ) { trigger_error( sprintf( __( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ), $class, $version, '<pre>__construct()</pre>' ) );
この部分でエラーメッセージを表示しています。
function __()
という記述方法が バージョン 4.3.0 から非推奨 になっているので
function __construct()
に変えたほうがいいよ、的なメッセージです。
該当する箇所は
wp-admin\load-scripts.php
wp-admin\load-styles.php
と、このサイトで追加したプラグインの
wp-content\plugins\easy-pie-maintenance-mode\classes\class-easy-pie-mm-utility.php
wp-content\plugins\easy-pie-maintenance-mode\classes\class-easy-pie-plugin-base.php
にもありました。これらのNoticeはwp-adminはWordPressの本体部分で、他方はプラグインなのでおそらく近々のアップデートで直ると思われます。
直らないとしても、Noticeエラーなのでそもそも出ないようにしておきたいです。
Noticeエラーが表示された原因はデバッグモード
先ほどのソースでは WP_DEBUG がtrueだからエラーが表示されています。デバッグモードは本番サーバではオフ(false)になっているべきなので誤って何かを見たくてデバッグモードをオンにして元に戻すのを忘れていたようです。
ルート直下の wp-config.php にある
define('WP_DEBUG', true);
を
define('WP_DEBUG', false);
としてサーバーにアップロードします。
しかし、、、Noticeが消えません(>_<)!!!
デバッグモードをオフにしてもNoticeエラーが消えなかった原因
ということは、何らかのキャッシュが残っていてそれが以前出したエラーをずっと表示し続けているのではないか?と思いました。
そして思い当たったのがインストールしている WP Super Cache というプラグインです。ページの読み込みが遅くなっていたので少しでも速くしたいと思っていれたプラグインですが、このサイトとの相性がいまいちなのかあまり速くならなかったのですが後で設定を試してみようと思ってそのままにしてました。
ということでまず
wp-contentの直下にあるcacheというフォルダの中にあるサイト名フォルダの index.html を削除しました。
この時点で大体のブラウザでは先ほどから出ていたNoticeが消えたのですがそれでもまだ消えないブラウザがありました。
そのブラウザに関しては、cacheフォルダの直下にあるファイルをすべて消してようやくこのブラウザでNoticeが出ないようになりました。
考えてみるとindex.htmlだけでなく他に表示したページについてキャッシュが作られていたはずなのでcacheにあるファイルやフォルダは全部消してしまった方が良さそうです。
今時点でWP Super Cacheを使って読み込みを速くするという試みが上手く行っていなかったので、とりあえずプラグインを停止して削除しました。
するとwp-contentの直下にあるcacheフォルダ自体がなくなりました。このフォルダはWP Super Cacheがcreateしてものだったらしいですね。
まとめ:WordPress4.3にアップデートしてNoticeが出たら確認すること
ということで思ったより対応するのに時間がかかってしまいました(^_^;。ある条件にないとここまで困らないのですが、一部の困った方の役に立てるといいなと思って書いてみました。
まとめるとWordPress4.3にアップデートしてNoticeが出たら確認することは
その1. ルート直下の wp-content.php の WP_DEBUG をfalseにする
その2. WP Super Cacheを使っていたらcacheフォルダの中を削除するか、あまり効果がないなら利用を停止する
でした(^^)/
とうことでようやく落ち着いて4.3の新機能あれこれを試すことができます~楽しみです~
[amazon_searchlink search=”WordPress”]
コメント
コメント一覧 (6件)
今、まさにこのことで困っていました!プラグインを有効化させたとたんにNoticeが出るようになってしまって…。
でもこちらの記事のおかげで解決しました。ありがとうございます!!
はなみれいさん、こんにちは!記事が役に立ったようで何よりです。お知らせいただいてありがとうございました(^^)/
全く同じ症状でたいへん苦慮しておりましたが、解決いたしました!
ほんとうにありがとうございます!!
るふりさん、ありがとうございます(^^)/。もしかして他にも同じ人がいるかも、、と書いた記事でしたが役に立ったようでとってもうれしいです。教えていただいてありがとうございます。
ありがとうございます。お客様のHPでしたので大変助かりました。
AvenirHPさん、おはようございます。記事が何らかの役に立ったということをお知らせいただき卯らしく思います(^^)/。投稿ありがとうございました。