BP_REST_Members_Endpoint::xprofile_data( int $user_id )
Get XProfile info from the user.
Description
Parameters
- $user_id
-
(Required) User ID.
Return
(array)
Source
File: bp-members/classes/class-bp-rest-members-endpoint.php
protected function xprofile_data( $user_id ) {
$data = array();
// Get XProfile groups, only if the component is active.
if ( bp_is_active( 'xprofile' ) ) {
$fields_endpoint = new BP_REST_XProfile_Fields_Endpoint();
$groups = bp_xprofile_get_groups(
array(
'user_id' => $user_id,
'fetch_fields' => true,
'fetch_field_data' => true,
)
);
foreach ( $groups as $group ) {
$data['groups'][ $group->id ] = array(
'name' => $group->name,
);
foreach ( $group->fields as $item ) {
/**
* Added support for display name format support from platform.
*/
// Get the current display settings from BuddyBoss > Settings > Profiles > Display Name Format.
$current_value = bp_get_option( 'bp-display-name-format' );
// If First Name selected then do not add last name field.
if ( 'first_name' === $current_value && function_exists( 'bp_xprofile_lastname_field_id' ) && bp_xprofile_lastname_field_id() === $item->id ) {
if ( function_exists( 'bp_hide_last_name' ) && false === bp_hide_last_name() ) {
continue;
}
// If Nick Name selected then do not add first & last name field.
} elseif ( 'nickname' === $current_value && function_exists( 'bp_xprofile_lastname_field_id' ) && bp_xprofile_lastname_field_id() === $item->id ) {
if ( function_exists( 'bp_hide_nickname_last_name' ) && false === bp_hide_nickname_last_name() ) {
continue;
}
} elseif ( 'nickname' === $current_value && function_exists( 'bp_xprofile_firstname_field_id' ) && bp_xprofile_firstname_field_id() === $item->id ) {
if ( function_exists( 'bp_hide_nickname_first_name' ) && false === bp_hide_nickname_first_name() ) {
continue;
}
}
if ( function_exists( 'bp_member_type_enable_disable' ) && false === bp_member_type_enable_disable() ) {
if ( function_exists( 'bp_get_xprofile_member_type_field_id' ) && bp_get_xprofile_member_type_field_id() === $item->id ) {
continue;
}
}
/**
* --Added support for display name format support from platform.
*/
$data['groups'][ $group->id ]['fields'][ $item->id ] = array(
'name' => $item->name,
'value' => array(
'raw' => $item->data->value,
'unserialized' => $fields_endpoint->get_profile_field_unserialized_value( $item->data->value ),
'rendered' => $fields_endpoint->get_profile_field_rendered_value( $item->data->value, $item ),
),
);
}
}
} else {
$data = array( __( 'No extended profile data available as the component is inactive', 'buddyboss' ) );
}
return $data;
}
Changelog
| Version | Description |
|---|---|
| 0.1.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.