WordPressをバージョンアップした際にエラー「Warning: Missing argument 2 for wpdb::prepare()」が出た時の対処
WordPressを3.4から4.9にバージョンアップした際に(!?してなさすぎ^^;)、下記のようなエラーが出ました。その際の対処方法です。
1 |
Warning: Missing argument 2 for wpdb::prepare(), called in/web/zzzz.com/wp-content/plugins/category-icons/category_icons.php on line 1338 and defined in/web/zzzz.com/wp-includes/wp-db.php on line 1222 |
上記エラーでは、2つの対象ファイルが出てきます。
・プラグインcategory-iconsの、「category_icons.php」
・コアファイル「wp-include」内の「wp-db.php」
上記について色々調べて行ったら、WordPress3.5以上では、「wp-db.php」の1222行目で定義されているFunction「prepare」の引数の数が2つ必要になっているとの事。
1 |
public function prepare( $query, $args ) { |
しかし、プラグインcategory-iconsの、「category_icons.php」の1338行目では、引数が1つしか定義されていません。つまり、WordPressのバージョンアップにプラグインが追い付いていないという事です。
1 |
$datas = $wpdb->get_results($wpdb->prepare("$sql" )); |
そこで、引数をひとつ増やしてあげます。ここでは「0」を追加しました。
<修正後>
1 |
$datas = $wpdb->get_results($wpdb->prepare("$sql" ,0)); |
これで解決できます。同じことでお悩みの方、是非お試しください^^
参考
公開日:2018年1月30日
最終更新日:2018年1月30日