BP_XProfile_Field::get_member_type_label()
Gets a label representing the field’s profile types.
Description
This label is displayed alongside the field’s name on the Profile Fields Dashboard panel.
Return
(string)
Source
File: bp-xprofile/classes/class-bp-xprofile-field.php
public function get_member_type_label() {
// Field 1 is always displayed to everyone, so never gets a label.
if ( 1 == $this->id ) {
return '';
}
// Return an empty string if no profile types are registered.
$all_types = bp_get_member_types();
if ( empty( $all_types ) ) {
return '';
}
$member_types = $this->get_member_types();
// If the field applies to all profile types, show no message.
$all_types[] = 'null';
if ( array_values( $all_types ) == $member_types ) {
return '';
}
$label = '';
if ( ! empty( $member_types ) ) {
$has_null = false;
$member_type_labels = array();
foreach ( $member_types as $member_type ) {
if ( 'null' === $member_type ) {
$has_null = true;
continue;
} else {
$mt_obj = bp_get_member_type_object( $member_type );
$member_type_labels[] = $mt_obj->labels['name'];
}
}
// Alphabetical sort.
natcasesort( $member_type_labels );
$member_type_labels = array_values( $member_type_labels );
// Add the 'null' option to the end of the list.
if ( $has_null ) {
$member_type_labels[] = __( 'Users with no profile type', 'buddyboss' );
}
$label = sprintf( __( '(Profile types: %s)', 'buddyboss' ), implode( ', ', array_map( 'esc_html', $member_type_labels ) ) );
} else {
$label = '<span class="member-type-none-notice">' . __( '(Unavailable to all members)', 'buddyboss' ) . '</span>';
}
return $label;
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.4.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.