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.