我想做什么: 在WordPress中,当我编辑帖子的自定义字段值时,获取旧值和新值,并进行比较。
我现在得到的是什么:
我只能得到新的价值。我挂钩pre_post_update
操作,并使用get_post_meta()
(以及http://codex.wordpress.org/Custom_Fields中描述的一系列相关函数)来获取值。
我还尝试了get_post()
,它可以返回post_content
,post_title
等的旧值。但get_post()
不包含自定义字段值。
我认为在pre_post_update
挂钩触发时,值尚未保存在数据库中,不是吗?我可以获得帖子标题的旧价值等事实证明了这一点。然后必须有一些方法来获得自定义字段的旧值。
如果您可以指出比较自定义字段的旧值和新值的其他方法,也会受到欢迎。
非常感谢提前。
答案 0 :(得分:1)
您无法将旧的自定义字段与new进行比较,因为在更新它们时,它也会在db中的“wp_post_meta”表中重写。你失去了旧的价值。
答案 1 :(得分:1)
Pigi 已经说明了这一点。它会被写完。为什么不使用具有两个键的自定义字段,旧密钥和新密钥,并将旧值分配给旧密钥,将新值分配给新密钥。