BP_REST_Members_Endpoint::user_data( WP_User $user, string $context, WP_REST_Request $request )
Method to facilitate fetching of user data.
Description Description
This was abstracted to be used in other BuddyPress endpoints.
Parameters Parameters
- $user
-
(Required) User object.
- $context
-
(Required) The context of the request. Defaults to 'view'.
- $request
-
(Required) Full details about the request.
Return Return
(array)
Source Source
File: bp-members/classes/class-bp-rest-members-endpoint.php
public function user_data( $user, $context = 'view' ) {
$data = array(
'id' => $user->ID,
'name' => $user->display_name,
'user_login' => $user->user_login,
'link' => bp_core_get_user_domain( $user->ID, $user->user_nicename, $user->user_login ),
'member_types' => bp_get_member_type( $user->ID, false ),
'roles' => array(),
'capabilities' => array(),
'extra_capabilities' => array(),
'registered_date' => '',
'xprofile' => $this->xprofile_data( $user->ID ),
);
if ( 'edit' === $context ) {
$data['registered_date'] = bp_rest_prepare_date_response( $user->data->user_registered );
$data['roles'] = (array) array_values( $user->roles );
$data['capabilities'] = (array) array_keys( $user->allcaps );
$data['extra_capabilities'] = (array) array_keys( $user->caps );
}
// The name used for that user in @-mentions.
if ( bp_is_active( 'activity' ) ) {
$data['mention_name'] = bp_activity_get_user_mentionname( $user->ID );
}
// Avatars.
$data['avatar_urls'] = array(
'full' => bp_core_fetch_avatar(
array(
'item_id' => $user->ID,
'html' => false,
'type' => 'full',
)
),
'thumb' => bp_core_fetch_avatar(
array(
'item_id' => $user->ID,
'html' => false,
)
),
);
// Fallback.
if ( false === $data['member_types'] ) {
$data['member_types'] = array();
}
return $data;
}
Changelog Changelog
| Version | Description |
|---|---|
| 7.0.0 | Add the $request parameter. |
| 5.0.0 | Introduced. |