add_user_meta()与update_user_meta()


10

我正在寻找add_user_meta()vs 的文档update_user_meta()

如果用户当前不存在meta_key,将update_user_meta()自动为该用户添加meta_key还是必须先定义meta_key add_user_meta()



忽略了这一点。我遇到的问题是未添加元数据,也不知道是否add_user_meta()需要先定义。
蒂姆·普鲁默

1
那么,解决了吗?
s_ha_dum 2013年

这部分,是的,谢谢。还是要调试...:/
Tim Plummer

Answers:


15

您已经发现,update_user_meta()如果用户的meta字段不存在,则使用它将添加。即update_user_meta()可以做的任务add_user_meta()

但是,它们之间的区别是 return values

update_user_meta()

如果未进行任何更改(如果新值与以前的值相同),或者更新失败,则返回False;如果值不同并且更新成功,则返回umeta_id。

注意:从v3.4.2开始,它在成功时返回umeta_id(而不是true),而在失败时返回false


add_user_meta()

返回成功的主键ID。没有失败值(空白)。成功的主键ID。


我想补充一点,如果传入的唯一标志设置为true,则add_user_meta无法更新现有的user_meta。
TurtleTread18年

1

感谢您的解释,update_user_meta()如果更新成功,我将只向您添加true。

简而言之-如果密钥不存在,则返回Meta ID;如果成功更新,则返回true;如果失败,则返回false。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.