WordPressを5.0にしたら、SQLプラグイン『SQLite Integration』にて
Notice: Undefined property: stdClass::$compile_option in ~
といった426行目・424行目原因指定のNoticeエラーがたくさん出てくるようになった。
原因はエラーに書かれている通り『$compile_option』がナイせい。
WordPress5.0から、実際に存在する配列は『compile_options』だったのだ!
対応方法
つまり『$compile_option』を『compile_options』に変更すればもう出ない。
/sqlite-integration/query.class.php
『rewrite_limit_usage()』と『rewrite_order_by_usage()』の処理内にて
$_wpdb = new PDODB(); $options = $_wpdb->get_results('PRAGMA compile_options'); foreach ($options as $opt) { if (stripos($opt->compile_options, 'ENABLE_UPDATE_DELETE_LIMIT') !== false) return; }
後日談
5.1にしたらなんと『compile_option』に戻っていた。
よって、修正は不要なのだ!
と思っていたら、更に後日
なんと自分が使っていた『sqlite-integration』は『1.8.0』で、『1.8.1』が存在しており、そちらは『compile_option』
つまり結局同じ現象が起きるから、修正は必要!!
俺の自己都合で直したプラグイン
Github公開されたものを、フォークして、自己都合改造したものを公開中です。
自己責任でどうぞ。
コメント