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.