meta_idの取り扱いについて

カスタムフィールドを追加すると、そのキーと値それぞれに対してmeta_idが自動的に振られます。(例えば”天気”=>”晴れ”などと追加すると、この組み合わせに対してではなく”天気”、”晴れ”それぞれにmeta_idが与えられます。)

基本的にカスタムフィールドについて扱う際にはキーか値から検索すればいいのですが、どうしてもmeta_idから検索して変更を加えたいときなどには以下の方法がおすすめです。


//post_idとmeta_valueからmeta_idを取得する $meta_id = $wpdb->get_var("SELECT meta_id FROM ".$wpdb->postmeta." WHERE meta_value = 'hoge' AND post_id = $post_id"); //取得したmeta_idからカスタムフィールドに変更を加える(この場合"hoge"から"hogehoge"に変更される) $query = "update wp1_postmeta set meta_value = 'hogehoge' where meta_id = $meta_id"; $data = $wpdb->get_results($query, ARRAY_A);