bp_activity_heartbeat_last_recorded( array $response = array(), array $data = array() )
Use WordPress Heartbeat API to check for latest activity update.
Description
Parameters
- $response
-
(Optional) Array containing Heartbeat API response.
Default value: array()
- $data
-
(Optional) Array containing data for Heartbeat API response.
Default value: array()
Return
(array) $response
Source
File: bp-activity/bp-activity-filters.php
function bp_activity_heartbeat_last_recorded( $response = array(), $data = array() ) { if ( empty( $data['bp_activity_last_recorded'] ) ) { return $response; } // Use the querystring argument stored in the cookie (to preserve // filters), but force the offset to get only new items. $activity_latest_args = bp_parse_args( bp_ajax_querystring( 'activity' ), array( 'since' => date( 'Y-m-d H:i:s', $data['bp_activity_last_recorded'] ) ), 'activity_latest_args' ); if ( ! empty( $data['bp_activity_last_recorded_search_terms'] ) && empty( $activity_latest_args['search_terms'] ) ) { $activity_latest_args['search_terms'] = addslashes( $data['bp_activity_last_recorded_search_terms'] ); } $newest_activities = array(); $last_activity_recorded = 0; // Temporarily add a just-posted class for new activity items. add_filter( 'bp_get_activity_css_class', 'bp_activity_newest_class', 10, 1 ); ob_start(); if ( bp_has_activities( $activity_latest_args ) ) { while ( bp_activities() ) { bp_the_activity(); $atime = strtotime( bp_get_activity_date_recorded() ); if ( $last_activity_recorded < $atime ) { $last_activity_recorded = $atime; } bp_get_template_part( 'activity/entry' ); } } $newest_activities['activities'] = ob_get_contents(); $newest_activities['last_recorded'] = $last_activity_recorded; ob_end_clean(); // Remove the temporary filter. remove_filter( 'bp_get_activity_css_class', 'bp_activity_newest_class', 10 ); if ( ! empty( $newest_activities['last_recorded'] ) ) { $response['bp_activity_newest_activities'] = $newest_activities; } return $response; }
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.