WordPress:在帖子更新之前获取自定义字段值

时间:2011-11-28 08:08:16

标签: wordpress hook custom-fields

我想做什么: 在WordPress中,当我编辑帖子的自定义字段值时,获取旧值和新值,并进行比较。

我现在得到的是什么: 我只能得到新的价值。我挂钩pre_post_update操作,并使用get_post_meta()(以及http://codex.wordpress.org/Custom_Fields中描述的一系列相关函数)来获取值。

我还尝试了get_post(),它可以返回post_contentpost_title等的旧值。但get_post()不包含自定义字段值。

我认为在pre_post_update挂钩触发时,值尚未保存在数据库中,不是吗?我可以获得帖子标题的旧价值等事实证明了这一点。然后必须有一些方法来获得自定义字段的旧值。

如果您可以指出比较自定义字段的旧值和新值的其他方法,也会受到欢迎。

非常感谢提前。

2 个答案:

答案 0 :(得分:1)

您无法将旧的自定义字段与new进行比较,因为在更新它们时,它也会在db中的“wp_post_meta”表中重写。你失去了旧的价值。

答案 1 :(得分:1)

Pigi 已经说明了这一点。它会被写完。为什么不使用具有两个键的自定义字段,旧密钥和新密钥,并将旧值分配给旧密钥,将新值分配给新密钥。