BP_Core_User::get_last_activity( int|array $user_id )
Get last activity data for a user or set of users.
Description
Parameters
- $user_id
-
(Required) User IDs or multiple user IDs.
Return
(false|array)
Source
File: bp-core/classes/class-bp-core-user.php
818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 | public static function get_last_activity( $user_id ) { global $wpdb ; // Sanitize and remove empty values. $user_ids = array_filter ( wp_parse_id_list( $user_id ) ); if ( empty ( $user_ids ) ) { return false; } $uncached_user_ids = bp_get_non_cached_ids( $user_ids , 'bp_last_activity' ); if ( ! empty ( $uncached_user_ids ) ) { $bp = buddypress(); $user_ids_sql = implode( ',' , $uncached_user_ids ); $user_count = count ( $uncached_user_ids ); $last_activities = $wpdb ->get_results( $wpdb ->prepare( "SELECT id, user_id, date_recorded FROM {$bp->members->table_name_last_activity} WHERE component = %s AND type = 'last_activity' AND user_id IN ({$user_ids_sql}) LIMIT {$user_count}" , $bp ->members->id ) ); foreach ( $last_activities as $last_activity ) { wp_cache_set( $last_activity ->user_id, array ( 'user_id' => $last_activity ->user_id, 'date_recorded' => $last_activity ->date_recorded, 'activity_id' => $last_activity ->id, ), 'bp_last_activity' ); } } // Fetch all user data from the cache. $retval = array (); foreach ( $user_ids as $user_id ) { $retval [ $user_id ] = wp_cache_get( $user_id , 'bp_last_activity' ); if ( isset( $retval [ 'user_id' ] ) ) { $retval [ $user_id ][ 'user_id' ] = (int) $retval [ $user_id ][ 'user_id' ]; } if ( isset( $retval [ 'activity_id' ] ) ) { $retval [ $user_id ][ 'activity_id' ] = (int) $retval [ $user_id ][ 'activity_id' ]; } } return $retval ; } |
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.