update_post_meta() uses update_metadata() to update the post metadata, and if you call update_post_meta() without specifying the fourth parameter (i.e. $prev_value ) — or that the value is empty, then yes, update_metadata() will check if the new value is the same as the current value in the database, and if so, the ...