Random WordPress Function

Learn about a new WordPress function every day!


Function Signature:

update_metadata

Function Description:

Updates metadata for the specified object. If no value already exists for the specified object ID and metadata key, the metadata will be added.

Function Examples:

⚠️ Examples below are generated with GPT-3 once every hour. Do not take them too seriously.
Consider them as some extra input in your learning process - reason about them. Will it work? What could fail?
// Example 1: Update a post's custom field value
$post_id = 123;
$meta_key = 'custom_field';
$new_meta_value = 'updated_value';
$old_meta_value = get_post_meta( $post_id, $meta_key, true );

if ( $old_meta_value ) {
    update_metadata( 'post', $post_id, $meta_key, $new_meta_value, $old_meta_value );
} else {
    add_metadata( 'post', $post_id, $meta_key, $new_meta_value, true );
}
// Example 2: Update a user's profile information
$user_id = 5;
$meta_key = 'phone_number';
$new_meta_value = '555-555-5555';
$old_meta_value = get_user_meta( $user_id, $meta_key, true );

if ( $old_meta_value ) {
    update_metadata( 'user', $user_id, $meta_key, $new_meta_value, $old_meta_value );
} else {
    add_metadata( 'user', $user_id, $meta_key, $new_meta_value, true );
}
// Example 3: Update a term's metadata
$term_id = 10;
$meta_key = 'color';
$new_meta_value = 'blue';
$old_meta_value = get_term_meta( $term_id, $meta_key, true );

if ( $old_meta_value ) {
    update_metadata( 'term', $term_id, $meta_key, $new_meta_value, $old_meta_value );
} else {
    add_metadata( 'term', $term_id, $meta_key, $new_meta_value, true );
}