WordPress『wpdb::escape is deprecated since version 3.6!』を直す方法

無題

wp-config.phpでWP_DEBUGをtrueにしたとき、以下のNoticeが表示された時の解決方法。

 『Notice: wpdb::escape is deprecated since version 3.6! Use wpdb::prepare() or esc_sql() instead. in /var/www/html/test/wp-includes/functions.php on line 3083』

マルチサイト化したときに発生する

 今回のNoticeをググってみると、解決方法がありました。

Quick fix for the notice “wpdb::escape is deprecated since version 3.6″ | Carlo Rizzante

 マルチサイト化したことによって発生するようです。

 Noticeの内容を読むと、wp-includesのfunctions.phpをどうにかしろと書いているけど、実際はマルチサイトしたときに用意したsunrise.phpを以下のようにescapeにアンダースコアを付けるとNoticeがなくなります。

修正前

$dm_domain = $wpdb->escape( $_SERVER[ 'HTTP_HOST' ] );

修正後

$dm_domain = $wpdb->_escape( $_SERVER[ 'HTTP_HOST' ] );

 これでブラウザを更新するとNoticeがなくなります。

Sponsored link

便利な商品紹介

オムロン クッションマッサージャ(マッサージクッション) HM-341-BG ベージュ

意外と気持ち良い

富士通 FUJITSU ScanSnap iX500 (A4/両面/Wi-Fi対応) FI-IX500A

自炊するならやっぱり持っておきたい。せっかくスキャンするならOCR付きにしておくに越したことはない。

Zenback

コメント

ブックマーク

ブログランキング

ページ上部へ戻る