从数据库中删除帖子元,即使不存在? 时间:2011-05-27 作者:Paul_p 这不是我第一次看到我们“删除”一个帖子元,即使它不存在:例如: $count = get_post_meta($postID, $count_key, true); if($count==\'\'){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, \'0\'); 所以如果$count为空,那么如果数据库中不存在,我们首先删除post meta?为什么?谢谢你的回答 2 个回复 最合适的回答,由SO网友:Scott 整理而成 代码中显示的原因是delete_post_meta() 首先运行,是因为add_post_meta() 正在追赶它。如果没有先进行删除,那么最终会在元表中存储多个条目。老实说,最好使用update_post_meta() 而不是两者兼而有之delete_post_meta() 和add_post_meta(). 原因是update_post_meta() 将尝试更新现有值,如果它不存在;将增加值。 SO网友:Jan Fabry 这段代码是来自核心WordPress代码还是来自插件或教程?数据库中可能有无效的旧数据,如空字符串。为了确保从“清理”数据(始终为整数)开始,首先使用此键删除所有数据,然后插入清理数据是有意义的。正如Brady所指出的,最好使用update_post_meta() 一步替换可能存在的值。 结束 文章导航