> WordPress中文手册 > wordpress更新自定义字段函数:update_post_meta()

【描述】
该函数为指定文章更新已有meta关键字(自定义)的值。

成功更新后函数返回true,若文章未指定meta关键字则返回false。

若$unique参数设为true且已指定meta关键字,函数返回false,不作更改;否则返回true。
【用法】

<?PHP update_post_meta($post_id, $meta_key, $meta_value, $prev_value); ?>

【参数】
$post_id

(整数)(必需)含有需要编辑字段的文章的编号

默认值:None

$meta_key

(字符)(必需)需要编辑的自定义字段的关键字

默认值:None

$meta_value

(字符)(必需)自定义字段的新值

默认值:None

$prev_value

(字符)(可选)希望改变的自定义字段原值。该参数用于区分带有相同关键字的字段。

默认值:None

【示例】
缺省用法

<?php update_post_meta(76, 'my_key', 'Steve'); ?>  

其他示例
假设某文章编号为76并含有以下4个自定义字段:

[key_1] => 'Happy'
[key_1] => 'Sad'
[key_2] => 'Gregory'
[my_key] => 'Steve'

若要将key_2的值改为Hans:

<?php update_post_meta(76, 'key_2', 'Hans'); ?>  

将key_1的值从Sad改为Happy:

<?php update_post_meta(76, 'key_1', 'Happy', 'Sad'); ?>  

修改后的字段显示如下:

[key_1] => 'Happy'
[key_1] => 'Happy'
[key_2] => 'Hans'
[my_key] => 'Steve'

注意:该函数仅升级符合标准的第一个字段。

将key_1的值从Happy改为Excited:

<?php     
 update_post_meta(76, 'key_1', 'Excited', 'Happy');      
 //Or      
 update_post_meta(76, 'key_1', 'Excited');      
 //To change all fields with the key "key_1":      
 $key1_values = get_post_custom_values('key_1', 76);    
 foreach ( $key1_values as $value )      
   update_post_meta(76, 'key_1', 'Excited', $value);  
?>

【源代码】

update_post_meta() 位于 wp-includes/post.php