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.