BP_Activity_List_Table::get_activity_user_id( int $activity_id )
Get the user id associated with a given activity item.
Description
Wraps bp_activity_get_specific(), with some additional logic for avoiding duplicate queries.
Parameters
- $activity_id
-
(Required) Activity ID to retrieve User ID for.
Return
(int) User ID of the activity item in question.
Source
File: bp-activity/classes/class-bp-activity-list-table.php
protected function get_activity_user_id( $activity_id ) {
// If there is an existing activity/user ID mapping, just return the user ID.
if ( ! empty( $this->activity_user_id[$activity_id] ) ) {
return $this->activity_user_id[$activity_id];
/*
* We don't have a mapping. This means the $activity_id is not on the current
* page of results, so fetch its details from the database.
*/
} else {
$activity = bp_activity_get_specific( array( 'activity_ids' => $activity_id, 'show_hidden' => true, 'spam' => 'all', ) );
/*
* If, somehow, the referenced activity has been deleted, leaving its associated
* activities as orphans, use the logged in user's ID to avoid errors.
*/
if ( empty( $activity['activities'] ) )
return bp_loggedin_user_id();
// Store the new activity/user ID mapping for any later re-use.
$this->activity_user_id[ $activity['activities'][0]->id ] = $activity['activities'][0]->user_id;
// Return the user ID.
return $activity['activities'][0]->user_id;
}
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.6.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.