[WP3.5]WordPress 3.5にアップグレードした時のSharebarプラグインの警告を修正する方法

WordPressで構築しているサイトをWordpress 3.5にアップデートしたところ、投稿表示の先頭にワーニングが。。。

Warning: Missing argument 2 for wpdb::prepare(), called in /home/sites/web/wp-content/plugins/sharebar/sharebar.php on line 112 and defined in /home/sites/web/wp-includes/wp-db.php on line 990

Warning: Missing argument 2 for wpdb::prepare(), called in /home/sites/web/wp-content/plugins/sharebar/sharebar.php on line 124 and defined in /home/sites/web/wp-includes/wp-db.php on line 990

Sharebarプラグインで問題が発生しているようだが、まずはWordpress3.5のアップデートに関してGoogleで調査してみた。

すると、以下の記事が(英語ですが)
PHP Warning: Missing argument 2 for wpdb::prepare()

どうやら、WP3.5からSQLインジェクションを防止するためにDBのprepare関数にパラメータが増えたようだ。

Sharebarプラグインを無効にしてプラグインのアップデートが出るまで待つかとも考えたが、Sharebarプラグインは最近導入したばかりのお気に入りの機能だったため、コードを修正することに。

Sharebarプラグインの該当コードは以下の通り。

[112行目]
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."sharebar WHERE enabled=1 ORDER BY position, id ASC")); $str .= "\n";

[124行目]
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."sharebar WHERE enabled=1 ORDER BY position, id ASC")); $str .= "\n";

それぞれ、増えたパラメータにnullを追加してみる。

[112行目]
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."sharebar WHERE enabled=1 ORDER BY position, id ASC", null)); $str .= "\n";

[124行目]
$results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."sharebar WHERE enabled=1 ORDER BY position, id ASC", null)); $str .= "\n";

動作確認してみると、問題なさそう。

Sharebarプラグインのアップデートがリリースされるまで、これでいこうと思います。

同じ問題で困っている方の参考になれば幸いです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です