Fix serialization when adding meta via update_post_meta(). Props azaozz. fixes #7018

git-svn-id: https://develop.svn.wordpress.org/trunk@7995 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren 2008-05-27 11:33:11 +00:00
parent 3aa6501d8e
commit 1d2d2c3835
1 changed files with 5 additions and 4 deletions

View File

@ -566,9 +566,6 @@ function get_post_meta($post_id, $key, $single = false) {
function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
global $wpdb;
$meta_value = maybe_serialize($meta_value);
$prev_value = maybe_serialize($prev_value);
// expected_slashed ($meta_key)
$meta_key = stripslashes($meta_key);
@ -576,11 +573,15 @@ function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
return add_post_meta($post_id, $meta_key, $meta_value);
}
$meta_value = maybe_serialize($meta_value);
$data = compact( 'meta_value' );
$where = compact( 'meta_key', 'post_id' );
if ( !empty( $prev_value ) )
if ( !empty( $prev_value ) ) {
$prev_value = maybe_serialize($prev_value);
$where['meta_value'] = $prev_value;
}
$wpdb->update( $wpdb->postmeta, $data, $where );
wp_cache_delete($post_id, 'post_meta');