WordPress.org

Make WordPress Core

Ticket #11683: update-meta-ids.diff

File update-meta-ids.diff, 1.6 KB (added by wonderboymusic, 6 years ago)
  • wp-includes/meta.php

     
    135135                }
    136136        }
    137137
     138        $_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT $id_column FROM $table WHERE meta_key = %s AND $column = %d", $meta_key, $object_id ) );
     139       
    138140        $_meta_value = $meta_value;
    139141        $meta_value = maybe_serialize( $meta_value );
    140142
     
    146148                $where['meta_value'] = $prev_value;
    147149        }
    148150
    149         do_action( "update_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
     151        foreach ( $_meta_ids as $_meta_id )
     152                do_action( "update_{$meta_type}_meta", $_meta_id, $object_id, $meta_key, $_meta_value );
    150153
    151         if ( 'post' == $meta_type )
    152                 do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
    153 
     154        if ( 'post' == $meta_type ) {
     155                foreach ( $_meta_ids as $_meta_id )
     156                        do_action( 'update_postmeta', $_meta_id, $object_id, $meta_key, $meta_value );
     157        }
     158               
    154159        $wpdb->update( $table, $data, $where );
    155160
    156161        wp_cache_delete($object_id, $meta_type . '_meta');
    157162
    158         do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
     163        foreach ( $_meta_ids as $_meta_id )
     164                do_action( "updated_{$meta_type}_meta", $_meta_id, $object_id, $meta_key, $_meta_value );
    159165
    160         if ( 'post' == $meta_type )
    161                 do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
     166        if ( 'post' == $meta_type ) {
     167                foreach ( $_meta_ids as $_meta_id )
     168                        do_action( 'updated_postmeta', $_meta_id, $object_id, $meta_key, $meta_value );
     169        }
    162170
    163171        return true;
    164172}