根据日志 id 来更新自定义字段。使用 $prev_value 参数来区分同样的 key 和日志 id 的自定义字段。
如果指定的 $meta_key 不存在,则添加这个自定义字段。
用法
参数
$post_id
(integer) (required) 将要更新自定义字段的日志 id。
default: none
$meta_key
(string) (required) 将要更新自定义字段的名称(key)。
default: none
$meta_value
(mixed) (required) 自定义字段的新值,如果是一个数组,将会被序列化成字符串。
default: none
$pre_value
(boolean) (optional) 将要修改的自定义字段原来的值,这是用来区分相同 key 的几个字段,如果省略了,则当前日志下指定 key 的多个值都将被更新。
default: empty
返回值
(mixed)
如果 meta 不存在,返回 meta_id,否则更新成功返回 true,失败返回 false。
注意:如果传递过去的 meta_value 和数据库中现有的是相同的话,也会返回错误。
实例
基本用法
其他实例
假设一个 id 为 76 的日志,有下面四个自定义字段:
[key_1] => 'happy'
[key_1] => 'sad'
[key_2] => 'gregory'
[my_key] => 'steve'
将 key_2 的值修改成 'hans':
将 key_1 的值从 'sad' 修改成 'happy':
现在的字段将如下所示:
[key_1] => 'happy'
[key_1] => 'happy'
[key_2] => 'hans'
[my_key] => 'steve'
修改页面模板
注解
这个可以用来代替 add_post_meta(),update_post_meta() 首先会检查指定的 $post_id 的 $meta_key 是否已经存在,如果不存在,则会调用 add_post_meta($post_id, $meta_key, $meta_value),并返回其结果。
如果 meta 不存在,返回 meta_id,否则更新成功返回 true,失败返回 false,如果传递过去的 meta_value 和数据库中现有的是相同的话,也会返回错误。
修改记录
since 1.5.0
源文件
wp-includes/post.php