web-dev-qa-db-ja.com

add_user_meta()とupdate_user_meta()の対比

私はadd_user_meta()update_user_meta()のドキュメントを見ています。

現在のmeta_keyがユーザーに存在しない場合、update_user_meta()は自動的にそのユーザーのmeta_keyを追加しますか、それとも最初にadd_user_meta()でmeta_keyを定義する必要がありますか?

10
Tim Plummer

ユーザーのメタフィールドが存在しない場合にupdate_user_meta()を使用すると、追加されることが既にわかりました。すなわちupdate_user_meta()add_user_meta()の仕事をすることができます

しかし、それらの違いはreturn valuesです。

update_user_meta()

戻り値 False 変更が行われなかった場合(新しい値が以前の値と同じ場合)、または更新が失敗した場合はumeta_id、値が異なっていて更新が成功した場合は。

注:v3.4.2では、成功した場合は(trueではなく)umeta_idを返し、 failureの場合はfalseを返します。


add_user_meta()

return 成功のための主キーID 。失敗した場合は値なし(空白)。成功のための主キーID。

14
Dipesh KC

あなたの説明のおかげで、うまくいったアップデートが起こったならば、私はちょうどあなたにあなたのものに加えますupdate_user_meta()もtrueを返します。

つまり、キーが存在しなかった場合はMeta IDを返し、更新が成功した場合はtrue、失敗した場合はfalseを返します。

1
MAK