WordPress.org

Make WordPress Core

Ticket #15458: 15458-clean_user_cache.diff

File 15458-clean_user_cache.diff, 1.8 KB (added by ryan, 3 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