この記事は最後に更新してから1年以上経過しています。

3.6リリース直前チェック

説明

$wpdbは、WordPressのデータベースにアクセスする際に使用できる便利なオブジェクト。独自テーブルの利用やデータ検索の最適化など、標準提供される関数では実現できないことを手助けしてくれる。そんな$wpdbのescapeメソッドが3.6で非推奨(deprecated)になる。

$wpdbのescapeメソッドは、データベースの検索や更新時の文字列データをエスケープ処理(addslashes関数を呼び出して文字列中の'(シングルクォート)や"(ダブルクォート)などをスラッシュでクォートする)に使用できる。

global $wpdb;
$data = $wpdb->escape( $data );

WordPress 3.6ではこのescapeメソッドが非推奨になるわけだが、代替には$wpdbのprepareメソッドや esc_sql関数がある。まあ、もともとescapeメソッドを単独で利用していることはないだろうから、素直にprepareメソッドを利用するのが簡単だろう。

global $wpdb;
$result = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->postmeta} WHERE meta_value = %s", $data ) );

escapeメソッドはWordPress 0.71から提供されており、3.6で非推奨(deprecated)になる。3.6になってすぐ使えなくなるわけではないが、今後のことを考え、自身で作ったテーマやプラグインで使われていないかチェックしておこう。


最終更新 : 2013年07月26日 13:57


お勧め

get_comment_ID(2018年5月27日 更新)

int get_comment_ID( )
現在のコメントのIDを取得する。

do_shortcode(2018年5月27日 更新)

string function do_shortcode( string $content [ , bool $ignore_html = false ] )
文字列に含まれるショートコードを変換する。

get_search_query(2018年5月27日 更新)

string get_search_query( [ bool $escaped = true ] )
ユーザによって検索フォームで入力された検索キーフレーズを取得する。

remove_filter(2018年5月27日 更新)

bool remove_filter( $tag, mixed $function_to_remove [ , int $priority = 10 [ , int $accepted_args = 1 ] ] )
WordPressタグに登録されているフィルターを削除する。

get_term_feed_link(2012年2月23日 更新)

string get_term_feed_link( int $term_id [ , string $taxonomy = 'category' [ , string $feed = '' ] ] )
カテゴリーや投稿タグなどのタームフィードのURLを取得する。