WordPressをCMSとして利用することが多くなっていますが、
8月にWordPress4.3.0にアップデートしてから自作テーマなどで
「Notice: 呼び出された WP_Widget のコンストラクターメソッドはバージョン 4.3.0 から非推奨になっています! 代わりに
__construct()
を使ってください」
とエラーメッセージが出まくり^^; でした。
最近まで、仕事&私ごとで忙しく、とりあえずデバッグモードを「false」にして
【見なかったことにしよう(よくないんですけど。。。)】的な対処をしておりましたが、
これではやっぱり消極的対処であって、完全に修正しきれているわけではありません。
WordPress 4.3 Notice Error
上記のサイトページを参考にさせていただきました。
PHP4形式のコンストラクタの記述が非推奨となるため、 PHP4形式の クラス コンストラクタ の記述を、PHP5の __construct に書き換えるように促しているようです。
とのこと。
当方の場合、オリジナルのウィジェット定義をfunction.php内で設定していたので、その部分の修正が必要になっていました。
《対応メモ》
// WP_Widget クラスを継承するサブクラスとして定義 class My_RecentPosts_Widget extends WP_Widget { // コンストラクタ function My_RecentPosts_Widget() { // ウィジェットの初期設定 $widget_opts = array('classname' => 'my_recent_posts_widget', 'description' => '特定カテゴリの最新の投稿タイトル一覧を表示。カテゴリーIDを指定してください。' ); $control_opts = array('width' => 200, 'height' => 300); $this->WP_Widget('MyRecentPostsWidget', '特定のカテゴリー最近の投稿', $widget_opts, $control_opts); }
$this->WP_Widget() の箇所を
parent::__construct() に修正すると、今まで表示されていたエラーメッセージはキチンと消えました。
WordPress案件でお客様にすでに納品している場合も、ごくたまーに
テスト環境でWordPress デバッグモードで
define('WP_DEBUG', true);
のままになっていることがあるかもしれません。
参考になれば幸いです♪