Simplicityの特徴 › フォーラム › 不具合報告 › WordPressを4.3に更新した際に表示されるエラーについて
-
投稿者投稿
-
-
2015年8月24日 10:27 AM #31112
Fukaya
ゲスト大変素晴らしいテーマを作っていただきまして、ありがとうございます!
二日前によろしさんが以下のトピックを作成されましたが、当方にも同じ問題が発生しました。
“WPを4.3にアップたら「Notice: 呼び出された WP_Widget のコンストラクターメソッドはバージョン 4.3.0 から非推奨に…」と出る”それでデバッグをしてみたところ、widget.phpに古い記述があり、それが原因のようでしたので報告いたします。
(ここが報告の場として適切でない場合はご容赦ください)原因としては親クラスのコンストラクタの呼び出しがPHP4時代の古い記述となっていますので、そこをparent::__constructに変更すれば大丈夫だと思います。
詳細はこちらのサイトをご覧ください。
もちろん本番環境ではデバッグモードをオフにすべきですが、気になったのでお知らせさせていただきました。
-
2015年8月24日 7:49 PM #31130
わいひらキーマスターおそらく表示されているのはnoticeだと思うので、デバックモードにしなければ問題になることはないと思っています。
その通知は、ウィジェットの設定をポストすると多分出なくなります。
ですので、僕の開発環境では、そのnoticeが既にでない環境になっています。
ですので修正が困難なのと、デバックモードにしない限りは問題が出ないのでそのままにしておきたいと思います。もし、その部分を修正したコードを書き込んでいただけるのであれば、すぐにでも修正いたします。
-
2015年8月24日 10:19 PM #31148
Hidekichi
ゲストphp7まではnoticeでイケますが(予想)、おそらくphp8でエラーになる部分なので(予言(笑))、じわじわと修正していく必要があるかも知れませんね。
wo-config.phpでdefine(‘WP_DEBUG’, false);で消えます。念の為。
いきなりワーニング等にするとアレなので、コアの部分では旧形式の互換性も保ってると思います。noticeを吐くようにして徐々に対応してくださいよと促している状況かと思います。
まさかwordpressともあろうものがそこまでしてないとも思えませんし。
ただいつかは切り捨てていくでしょうね。php7は11月でしたっけね。リリース予定だったのでいつかはわかりませんけど。で、リリースされてもすぐにホストが採用するかもわかりませんし・・・。けど速くなってるらしいしメモリ消費も少ないという話ですし、すぐに導入の運びになるやも知れませんね。ちなみに、現状でのwidgetは、独自のウィジェットを作成し追加する(プロフィールウィジェット編)こんな感じで作ります。
parent::__constructでnoticeは消えるかも知れませんが、実際はそれだけではないんですね、これが。
上記のサイトでも書かれていますが、「WP_Widgetを継承し、widget()、update()、form()メソッドをオーバライドしたクラスを用意することでウィジェットは作成できます。」このようにすれば基本は動きます。現状は上記のサイトの書き方で動作するはずですが、もしかするとfunction の前にpublic等が必要になるかも知れません。まぁ結果はどうであれ問題なく動作するのなら、それで良いと思ったりもします。
-
2015年8月25日 5:19 PM #31208
わいひらキーマスターちょっと、Wordpressを初期化してまでnoticeメッセージを表示させるのは面倒なので、何かあるまでは当分は様子を見ようと思います。
-
-
投稿者投稿
- このトピックに返信するにはログインが必要です。