bp_xprofile_get_hidden_field_types_for_user( int $displayed_user_id, int $current_user_id )

Get the visibility levels that should be hidden for this user pair.


Description Description

Field visibility is determined based on the relationship between the logged-in user, the displayed user, and the visibility setting for the current field. (See bp_xprofile_get_hidden_fields_for_user().) This utility function speeds up this matching by fetching the visibility levels that should be hidden for the current user pair.

See also See also


Top ↑

Parameters Parameters

$displayed_user_id

(int) (Required) The id of the user the profile fields belong to.

$current_user_id

(int) (Required) The id of the user viewing the profile.


Top ↑

Return Return

(array) An array of visibility levels hidden to the current user.


Top ↑

Source Source

File: bp-xprofile/bp-xprofile-functions.php

function bp_xprofile_get_hidden_field_types_for_user( $displayed_user_id = 0, $current_user_id = 0 ) {

	// Current user is logged in.
	if ( ! empty( $current_user_id ) ) {

		// Nothing's private when viewing your own profile, or when the
		// current user is an admin.
		if ( $displayed_user_id == $current_user_id || bp_current_user_can( 'bp_moderate' ) ) {
			$hidden_levels = array();

		// If the current user and displayed user are friends, show all.
		} elseif ( bp_is_active( 'friends' ) && friends_check_friendship( $displayed_user_id, $current_user_id ) ) {
			$hidden_levels = array( 'adminsonly', );

		// Current user is logged in but not friends, so exclude friends-only.
		} else {
			$hidden_levels = array( 'friends', 'adminsonly', );
		}

	// Current user is not logged in, so exclude friends-only, loggedin, and adminsonly.
	} else {
		$hidden_levels = array( 'friends', 'loggedin', 'adminsonly', );
	}

	/**
	 * Filters the visibility levels that should be hidden for this user pair.
	 *
	 * @since 2.0.0
	 *
	 * @param array $hidden_fields     Array of hidden fields for the displayed/logged in user.
	 * @param int   $displayed_user_id ID of the displayed user.
	 * @param int   $current_user_id   ID of the current user.
	 */
	return apply_filters( 'bp_xprofile_get_hidden_field_types_for_user', $hidden_levels, $displayed_user_id, $current_user_id );
}


Top ↑

Changelog Changelog

Changelog
Version Description
1.8.2 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.