この記事は最後に更新してから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_next_post(2018年5月27日 更新)

object get_next_post( [ bool $in_same_cat$in_same_term = false [ , string $excluded_categoriesmixed $excluded_terms = '' [ , string $taxonomy = 'category' ] ] ] )
1つ後の投稿情報を取得する。

wp_loginout(2018年5月27日 更新)

void wp_loginout( [ string $redirect = '' ] )
閲覧者がログインしているかどうかを調べ、ログインしていなければログインページのリンクを、ログイン済みならばログアウトページのリンクを表示する。

get_terms(2020年12月14日 更新)

array get_terms( mixed $args = array(), mixed $deprecated = '' mixed $taxonomies, [ mixed $args = '' ] )
条件を指定してタクソノミー情報を検索し、マッチしたすべてのデータを取得する。

wp_localize_script(2018年5月27日 更新)

bool wp_localize_script( string $handle, string $object_name, array $l10n )
スクリプト向けの変数を追加する。

get_post_status_object(2014年10月9日 更新)

object get_post_status_object( string $post_status )
投稿ステータス情報を取得する。