BP_REST_XProfile_Fields_Endpoint::get_xprofile_field_display_permission( boolean $retval, int $field_id )
Check display setting permission from platform.
Description
Parameters
- $retval
-
(Required) Return value should be boolean or WP_Error.
- $field_id
-
(Required) xProfile Field ID to check permission.
Return
(WP_Error|Boolean)
Source
File: bp-xprofile/classes/class-bp-rest-xprofile-fields-endpoint.php
public function get_xprofile_field_display_permission( $retval, $field_id = 0 ) {
if ( empty( $field_id ) ) {
return $retval;
}
/**
* 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 (
// If First Name selected then do not add last name field.
(
'first_name' === $current_value
&& function_exists( 'bp_xprofile_lastname_field_id' )
&& bp_xprofile_lastname_field_id() === $field_id
&& function_exists( 'bp_hide_last_name' )
&& false === bp_hide_last_name()
)
// If Nick Name selected then do not add first & last name field.
|| (
'nickname' === $current_value
&& function_exists( 'bp_xprofile_lastname_field_id' )
&& bp_xprofile_lastname_field_id() === $field_id
&& function_exists( 'bp_hide_nickname_last_name' )
&& false === bp_hide_nickname_last_name()
)
|| (
'nickname' === $current_value
&& function_exists( 'bp_xprofile_firstname_field_id' )
&& bp_xprofile_firstname_field_id() === $field_id
&& function_exists( 'bp_hide_nickname_first_name' )
&& false === bp_hide_nickname_first_name()
)
|| (
function_exists( 'bp_member_type_enable_disable' )
&& false === bp_member_type_enable_disable()
&& function_exists( 'bp_get_xprofile_member_type_field_id' )
&& bp_get_xprofile_member_type_field_id() === $field_id
)
) {
$retval = new WP_Error(
'bp_rest_invalid_id',
__( 'Invalid field ID.', 'buddyboss' ),
array(
'status' => 404,
)
);
}
return $retval;
}
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.