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.


Top ↑

Return Return

(array)


Top ↑

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;
	}

Top ↑

Changelog Changelog

Changelog
Version Description
7.0.0 Add the $request parameter.
5.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.