Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/07/2015 08:34:31 PM (12 years ago)
Author:
boonebgorges
Message:

When prefetching member types in the loop, cache arrays instead of strings.

Member type caches should always be arrays of all member types for a user.

Props imath.
Fixes #6193 for the 2.2 branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/src/bp-members/bp-members-cache.php

    r9210 r9448  
    2121        ) );
    2222
     23        // Rekey by user ID.
     24        $keyed_member_types = array();
     25        foreach ( $member_types as $member_type ) {
     26                if ( ! isset( $keyed_member_types[ $member_type->object_id ] ) ) {
     27                        $keyed_member_types[ $member_type->object_id ] = array();
     28                }
     29
     30                $keyed_member_types[ $member_type->object_id ][] = $member_type->name;
     31        }
     32
    2333        $cached_member_ids = array();
    24         foreach ( $member_types as $member_type ) {
    25                 wp_cache_set( $member_type->object_id, $member_type->name, 'bp_member_type' );
    26                 $cached_member_ids[] = $member_type->object_id;
     34        foreach ( $keyed_member_types as $user_id => $user_member_types ) {
     35                wp_cache_set( $user_id, $user_member_types, 'bp_member_type' );
     36                $cached_member_ids[] = $user_id;
    2737        }
    2838
Note: See TracChangeset for help on using the changeset viewer.