Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
09/27/2017 10:24:10 AM (8 years ago)
Author:
johnjamesjacoby
Message:

Members: trust WP_User::get_data_by() and eliminate an additional user cache layer.

This change removes ye olde bp_core_userdata_ cache key system, relying 100% on the baked-in object cache for user data and improving the liklihood of cache hits (particularly when other membership or community plugins are looking for user data outside of a BuddyPress specific context.)

For example, bbPress will look for authors of topics and latest posts on various forum pages, but BuddyPress will want to make sure it's XProfile Field display names are used. Previous to now, BuddyPress would need to re-query for these users and keep a separate cache of them. By relying on the traditional user objects, those duplicate database queries never happen, resulting in much joy.

This additionally improves page performance throughout the entire application. When user accounts are updated (via XProfile or related) and then immediately prime their caches, there is no more secondary BuddyPress-specific user object cache to prime.

Fixes #7595.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-xprofile/bp-xprofile-functions.php

    r11692 r11705  
    837837
    838838    wp_update_user( array( 'ID' => $user_id, 'display_name' => $fullname ) );
    839     wp_cache_delete( 'bp_core_userdata_' . $user_id, 'bp' );
    840839}
    841840add_action( 'xprofile_updated_profile', 'xprofile_sync_wp_profile' );
Note: See TracChangeset for help on using the changeset viewer.