bp_members_prefetch_member_type( BP_User_Query $bp_user_query )
Pre-fetch profile type data when initializing a Members loop.
Description
Parameters
- $bp_user_query
-
(Required) BP_User_Query object.
Source
File: bp-members/bp-members-cache.php
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | function bp_members_prefetch_member_type( BP_User_Query $bp_user_query ) { $uncached_member_ids = bp_get_non_cached_ids( $bp_user_query ->user_ids, 'bp_member_member_type' ); $member_types = bp_get_object_terms( $uncached_member_ids , bp_get_member_type_tax_name(), array ( 'fields' => 'all_with_object_id' , ) ); // Rekey by user ID. $keyed_member_types = array (); foreach ( $member_types as $member_type ) { if ( ! isset( $keyed_member_types [ $member_type ->object_id ] ) ) { $keyed_member_types [ $member_type ->object_id ] = array (); } $keyed_member_types [ $member_type ->object_id ][] = $member_type ->name; } $cached_member_ids = array (); foreach ( $keyed_member_types as $user_id => $user_member_types ) { wp_cache_set( $user_id , $user_member_types , 'bp_member_member_type' ); $cached_member_ids [] = $user_id ; } // Cache an empty value for users with no type. foreach ( array_diff ( $uncached_member_ids , $cached_member_ids ) as $no_type_id ) { wp_cache_set( $no_type_id , '' , 'bp_member_member_type' ); } } |
Changelog
Version | Description |
---|---|
BuddyPress 2.2.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.