Make WordPress Core

Changeset 7978


Ignore:
Timestamp:
05/22/2008 12:01:00 AM (18 years ago)
Author:
ryan
Message:

Add non-existent values instead of returning g false in update_post_meta(). Props filosofo. fixes #7018

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/post.php

    r7907 r7978  
    390390}
    391391
    392 function update_meta( $mid, $mkey, $mvalue ) {
     392function update_meta( $meta_id, $meta_key, $meta_value ) {
    393393    global $wpdb;
    394394
    395395    $protected = array( '_wp_attached_file', '_wp_attachment_metadata', '_wp_old_slug', '_wp_page_template' );
    396396
    397     if ( in_array($mkey, $protected) )
     397    if ( in_array($meta_key, $protected) )
    398398        return false;
    399399
    400     $post_id = $wpdb->get_var( $wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_id = %d", $mid) );
     400    $post_id = $wpdb->get_var( $wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_id = %d", $meta_id) );
    401401    wp_cache_delete($post_id, 'post_meta');
    402402
    403     $mvalue = maybe_serialize( stripslashes( $mvalue ));
    404     $mvalue = $wpdb->escape( $mvalue );
    405     $mid = (int) $mid;
    406     return $wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_key = %s, meta_value = %s WHERE meta_id = %d", $mkey, $mvalue, $mid) );
     403    $meta_value = maybe_serialize( stripslashes( $meta_value ));
     404    $meta_value = $wpdb->escape( $meta_value );
     405    $meta_id = (int) $meta_id;
     406   
     407    $data  = compact( 'meta_key', 'meta_value' );
     408    $where = compact( 'meta_id' );
     409
     410    return $wpdb->update( $wpdb->postmeta, $data, $where );
    407411}
    408412
  • trunk/wp-includes/post.php

    r7925 r7978  
    578578    $meta_key = stripslashes($meta_key);
    579579
    580     if ( ! $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = %s AND post_id = %d", $meta_key, $post_id ) ) )
    581         return false;
     580    if ( ! $wpdb->get_var( $wpdb->prepare( "SELECT meta_key FROM $wpdb->postmeta WHERE meta_key = %s AND post_id = %d", $meta_key, $post_id ) ) ) {
     581        return add_post_meta($post_id, $meta_key, $meta_value);
     582    }
    582583
    583584    $data  = compact( 'meta_value' );
Note: See TracChangeset for help on using the changeset viewer.