add_user_meta () so với update_user_meta ()


10

Tôi nhìn vào tài liệu cho add_user_meta()vs update_user_meta().

Nếu meta_key hiện tại không tồn tại cho người dùng, sẽ update_user_meta()tự động thêm meta_key cho người dùng đó hay bạn phải xác định meta_key add_user_meta()trước?



Nhìn ra mà. Tôi đã gặp vấn đề với METAS không được bổ sung và không biết nếu add_user_meta()cần phải được xác định đầu tiên.
Tim Plummer

1
Vậy, giải quyết rồi sao?
s_ha_dum

Phần này của nó, vâng - Cảm ơn bạn. Vẫn phải gỡ lỗi ...: /
Tim Plummer

Câu trả lời:


15

Bạn đã phát hiện ra rằng sử dụng update_user_meta()nếu trường meta cho người dùng không tồn tại, nó sẽ được thêm vào. tức là update_user_meta()có thể làm nhiệm vụ củaadd_user_meta()

Tuy nhiên, sự khác biệt giữa chúng là return values

update_user_meta ()

trả về Sai nếu không có thay đổi nào được thực hiện (nếu giá trị mới giống với giá trị trước đó) hoặc nếu cập nhật thất bại, umeta_id nếu giá trị khác và cập nhật thành công.

LƯU Ý: kể từ v3.4.2, nó trả về umeta_id khi thành công (thay vì đúng) và sai khi thất bại


add_user_meta ()

trả về id khóa chính để thành công . Không có giá trị (trống) cho thất bại. Id khóa chính để thành công.


Tôi muốn thêm rằng add_user_meta không thể cập nhật user_meta hiện có nếu cờ duy nhất được truyền vào được đặt thành true.
Rùa

1

Cảm ơn lời giải thích của bạn, tôi sẽ chỉ thêm vào của bạn sự update_user_meta()trở lại đúng nếu cập nhật thành công xảy ra.

Nói tóm lại - Nó trả về Meta ID nếu khóa không tồn tại, đúng khi cập nhật thành công, sai khi thất bại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.