Codex tools: Log in / create account
Contents |
The function, update post meta(), updates the value of an existing meta key (custom field) for the specified post.
This may be used in place of add_post_meta() function. The first thing this function will do is make sure that $meta_key already exists on $post_id. If it does not, add_post_meta($post_id, $meta_key, $meta_value) is called instead and its results are returned.
True will always be returned.
<?php update_post_meta($post_id, $meta_key, $meta_value, $prev_value); ?>
<?php update_post_meta(76, 'my_key', 'Steve'); ?>
Assuming a post has an ID of 76, and the following 4 custom fields:
[key_1] => 'Happy'
[key_1] => 'Sad'
[key_2] => 'Gregory'
[my_key] => 'Steve'
To change key_2's value to Hans:
<?php update_post_meta(76, 'key_2', 'Hans'); ?>
To change key_1's value from Sad to Happy:
<?php update_post_meta(76, 'key_1', 'Happy', 'Sad'); ?>
The fields would now look like this:
[key_1] => 'Happy'
[key_1] => 'Happy'
[key_2] => 'Hans'
[my_key] => 'Steve'
Note: This function will update only the first field that matches the criteria.
To change the first key_1's value from Happy to 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);
?>
For a more detailed example, go to the post_meta Functions Examples page.
Custom Fields: the_meta, get_post_meta, add_post_meta, update_post_meta, delete_post_meta, get_post_custom, get_post_custom_values, get_post_custom_keys (See Also: post_meta Function Examples)