add_user_meta () vs update_user_meta ()

10

Aku sedang melihat dokumentasi untuk add_user_meta()vs update_user_meta().

Jika meta_key saat ini tidak ada untuk pengguna, akan update_user_meta()secara otomatis menambahkan meta_key untuk pengguna itu atau Anda harus mendefinisikan meta_key dengan yang add_user_meta()pertama?

Tim Plummer
sumber
3
Apa yang tidak jelas dalam dokumen? "Jika bidang meta untuk pengguna tidak ada, itu akan ditambahkan."
s_ha_dum
Mengabaikan hal itu. Saya mengalami masalah dengan meta yang tidak ditambahkan dan tidak tahu apakah add_user_meta()perlu didefinisikan terlebih dahulu.
Tim Plummer
1
Jadi, dipecahkan?
s_ha_dum
Bagian ini, ya - Terima kasih. Masih harus melakukan debug ...: /
Tim Plummer

Jawaban:

15

Anda telah menemukan bahwa menggunakan update_user_meta()jika bidang meta untuk pengguna tidak ada, itu akan ditambahkan. yaitu update_user_meta()dapat melakukan tugasadd_user_meta()

Namun, perbedaan di antara mereka adalah return values

update_user_meta ()

mengembalikan False jika tidak ada perubahan yang dilakukan (jika nilai baru sama dengan nilai sebelumnya) atau jika pembaruan gagal, umeta_id jika nilainya berbeda dan pembaruan berhasil.

CATATAN: per v3.4.2 mengembalikan umeta_id saat sukses (bukan true) dan false saat gagal


add_user_meta ()

mengembalikan id kunci utama untuk sukses . Tidak ada nilai (kosong) untuk kegagalan. ID kunci utama untuk sukses.

Dipesh KC
sumber
Saya ingin menambahkan bahwa add_user_meta tidak dapat memperbarui user_meta yang sudah ada jika flag unik yang diteruskan disetel ke true.
TurtleTread
1

Terima kasih atas penjelasan Anda, saya hanya akan menambahkan milik Anda update_user_meta()juga mengembalikan true jika pembaruan berhasil terjadi.

Singkatnya - Ini mengembalikan Meta ID jika kunci tidak ada, benar pada pembaruan yang berhasil, false pada kegagalan.

MAK
sumber