xprofile_get_field_data( mixed $field, int $user_id, string $multi_format = 'array' )
Fetches profile data for a specific field for the user.
Description
When the field value is serialized, this function unserializes and filters each item in the array.
Parameters
- $field
-
(Required) The ID of the field, or the $name of the field.
- $user_id
-
(Required) The ID of the user.
- $multi_format
-
(Optional) How should array data be returned? 'comma' if you want a comma-separated string; 'array' if you want an array.
Default value: 'array'
Return
(mixed) The profile field data.
Source
File: bp-xprofile/bp-xprofile-functions.php
function xprofile_get_field_data( $field, $user_id = 0, $multi_format = 'array' ) {
if ( empty( $user_id ) ) {
$user_id = bp_displayed_user_id();
}
if ( empty( $user_id ) ) {
return false;
}
if ( is_numeric( $field ) ) {
$field_id = $field;
} else {
$field_id = xprofile_get_field_id_from_name( $field );
}
if ( empty( $field_id ) ) {
return false;
}
$values = maybe_unserialize( BP_XProfile_ProfileData::get_value_byid( $field_id, $user_id ) );
if ( is_array( $values ) ) {
$data = array();
foreach( (array) $values as $value ) {
/**
* Filters the field data value for a specific field for the user.
*
* @since BuddyPress 1.0.0
*
* @param string $value Value saved for the field.
* @param int $field_id ID of the field being displayed.
* @param int $user_id ID of the user being displayed.
*/
$data[] = apply_filters( 'xprofile_get_field_data', $value, $field_id, $user_id );
}
if ( 'comma' == $multi_format ) {
$data = implode( ', ', $data );
}
} else {
/** This filter is documented in bp-xprofile/bp-xprofile-functions.php */
$data = apply_filters( 'xprofile_get_field_data', $values, $field_id, $user_id );
}
return $data;
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.0.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.