bp_core_record_activity()
Listener function for the logged-in user’s ‘last_activity’ metadata.
Description Description
Many functions use a "last active" feature to show the length of time since the user was last active. This function will update that time as a usermeta setting for the user every 5 minutes while the user is actively browsing the site.
Return Return
(false|null) Returns false if there is nothing to do.
Source Source
File: bp-core/bp-core-functions.php
function bp_core_record_activity() { // Bail if user is not logged in. if ( ! is_user_logged_in() ) { return false; } // Get the user ID. $user_id = bp_loggedin_user_id(); // Bail if user is not active. if ( bp_is_user_inactive( $user_id ) ) { return false; } // Get the user's last activity. $activity = bp_get_user_last_activity( $user_id ); // Make sure it's numeric. if ( ! is_numeric( $activity ) ) { $activity = strtotime( $activity ); } // Get current time. $current_time = bp_core_current_time( true, 'timestamp' ); // Use this action to detect the very first activity for a given member. if ( empty( $activity ) ) { /** * Fires inside the recording of an activity item. * * Use this action to detect the very first activity for a given member. * * @since 1.6.0 * * @param int $user_id ID of the user whose activity is recorded. */ do_action( 'bp_first_activity_for_member', $user_id ); } // If it's been more than 5 minutes, record a newer last-activity time. if ( empty( $activity ) || ( $current_time >= strtotime( '+5 minutes', $activity ) ) ) { bp_update_user_last_activity( $user_id, date( 'Y-m-d H:i:s', $current_time ) ); } }
Changelog Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |