Make WordPress Core

Ticket #15458: 15458-clean_user_cache.diff

File 15458-clean_user_cache.diff, 1.8 KB (added by ryan, 13 years ago)

clean_user_cache() workaround for blogs of user cache cleaning

  • wp-includes/meta.php

     
    7373        $mid = (int) $wpdb->insert_id;
    7474
    7575        wp_cache_delete($object_id, $meta_type . '_meta');
     76        // users cache stores usermeta that must be cleared.             
     77        if ( 'user' == $meta_type )
     78                clean_user_cache( $object_id );
    7679
    7780        do_action( "added_{$meta_type}_meta", $mid, $object_id, $meta_key, $_meta_value );
    7881
     
    154157        $wpdb->update( $table, $data, $where );
    155158
    156159        wp_cache_delete($object_id, $meta_type . '_meta');
     160        // users cache stores usermeta that must be cleared.             
     161        if ( 'user' == $meta_type )             
     162                clean_user_cache( $object_id );
    157163
    158164        do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
    159165
     
    236242        if ( $delete_all ) {
    237243                foreach ( (array) $object_ids as $o_id ) {
    238244                        wp_cache_delete($o_id, $meta_type . '_meta');
     245                        if ( 'user' == $meta_type )
     246                                clean_user_cache( $o_id );
    239247                }
    240248        } else {
    241249                wp_cache_delete($object_id, $meta_type . '_meta');
     250                if ( 'user' == $meta_type )
     251                        clean_user_cache( $object_id );
    242252        }
    243253
    244254        do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
     
    437447
    438448                // Clear the caches.
    439449                wp_cache_delete($object_id, $meta_type . '_meta');
     450                if ( 'user' == $meta_type )             
     451                        clean_user_cache( $object_id );
    440452
    441453                do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
    442454
     
    493505
    494506                // Clear the caches.
    495507                wp_cache_delete($object_id, $meta_type . '_meta');
     508                if ( 'user' == $meta_type )             
     509                        clean_user_cache( $object_id );
    496510
    497511                do_action( "deleted_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
    498512