説明
update_user_meta() は、ユーザーのメタデータを更新する関数です。存在しなければ追加されます。
基本構文
update_user_meta( int $user_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' ): int|bool
引数
$user_id:ユーザーID$meta_key:メタキー$meta_value:値$prev_value:旧値(省略可)
戻り値
新規追加ならメタID、更新なら true。
使い方(サンプル)
update_user_meta( 1, 'phone', '03-0000-0000' );
注意点
- ユーザー自身が編集できる項目では、権限チェックとnonce検証を必ず行います。
実務での使いどころ
- ユーザーごとの設定や、プロフィールの追加項目を保存するとき。
よくあるミスと対処
- 戻り値が
falseのとき、失敗したと考える。値が変わらないときもfalseが返る。 - 他のユーザーのメタを、権限の確認なしに更新している。
- 入力値を、サニタイズしていない。
NG例
update_user_meta( $user_id, 'phone', $_POST['phone'] ); // 権限・サニタイズがない
OK例
if ( current_user_can( 'edit_user', $user_id ) && isset( $_POST['phone'] ) ) {
update_user_meta( $user_id, 'phone', sanitize_text_field( wp_unslash( $_POST['phone'] ) ) );
}
使い分け早見表
| 関数 | 役割 |
|---|---|
update_user_meta() |
値を保存する(なければ作成、あれば更新) |
get_user_meta() |
値を取得する |
delete_user_meta() |
値を削除する |
関連項目
get_user_meta()、delete_user_meta()
公式リファレンス:update_user_meta() | Function | WordPress Developer Resources

コメント