BP_Core_User::update_last_activity( int $user_id, string $time )
Set a user’s last_activity value.
Description
Will create a new entry if it does not exist. Otherwise updates the existing entry.
Parameters
- $user_id
-
(Required) ID of the user whose last_activity you are updating.
- $time
-
(Required) MySQL-formatted time string.
Return
(bool) True on success, false on failure.
Source
File: bp-core/classes/class-bp-core-user.php
public static function update_last_activity( $user_id, $time ) { global $wpdb; $table_name = buddypress()->members->table_name_last_activity; $activity = self::get_last_activity( $user_id ); if ( ! empty( $activity[ $user_id ] ) ) { $updated = $wpdb->update( $table_name, // Data to update. array( 'date_recorded' => $time, ), // WHERE. array( 'id' => $activity[ $user_id ]['activity_id'], ), // Data sanitization format. array( '%s', ), // WHERE sanitization format. array( '%d', ) ); // Add new date to existing activity entry for caching. $activity[ $user_id ]['date_recorded'] = $time; } else { $updated = $wpdb->insert( $table_name, // Data. array( 'user_id' => $user_id, 'component' => buddypress()->members->id, 'type' => 'last_activity', 'action' => '', 'content' => '', 'primary_link' => '', 'item_id' => 0, 'date_recorded' => $time, ), // Data sanitization format. array( '%d', '%s', '%s', '%s', '%s', '%s', '%d', '%s', ) ); // Set up activity array for caching. // View the foreach loop in the get_last_activity() method for format. $activity = array(); $activity[ $user_id ] = array( 'user_id' => $user_id, 'date_recorded' => $time, 'activity_id' => $wpdb->insert_id, ); } // Set cache. wp_cache_set( $user_id, $activity[ $user_id ], 'bp_last_activity' ); /** * Fires when a user's last_activity value has been updated. * * @since BuddyPress 2.7.0 * * @param int $user_id ID of the user. * @param string $time Last activity timestamp, in 'Y-m-d H:i:s' format. */ do_action( 'bp_core_user_updated_last_activity', $user_id, $time ); return $updated; }
Changelog
Version | Description |
---|---|
BuddyPress 2.0.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.