BP_XProfile_Group::fetch_default_visibility_levels()

Fetch the admin-set preferences for all fields.

Description

Return

(array) $default_visibility_levels An array, keyed by field_id, of default visibility level + allow_custom (whether the admin allows this field to be set by user)

Source

File: bp-xprofile/classes/class-bp-xprofile-group.php

	public static function fetch_default_visibility_levels() {
		global $wpdb;

		$default_visibility_levels = wp_cache_get( 'default_visibility_levels', 'bp_xprofile' );

		if ( false === $default_visibility_levels ) {
			$bp = buddypress();

			$levels = $wpdb->get_results( "SELECT object_id, meta_key, meta_value FROM {$bp->profile->table_name_meta} WHERE object_type = 'field' AND ( meta_key = 'default_visibility' OR meta_key = 'allow_custom_visibility' )" );

			// Arrange so that the field id is the key and the visibility level the value.
			$default_visibility_levels = array();
			foreach ( $levels as $level ) {
				switch ( $level->meta_key ) {
					case 'default_visibility' :
						$default_visibility_levels[ $level->object_id ]['default']      = $level->meta_value;
						break;
					case 'allow_custom_visibility' :
						$default_visibility_levels[ $level->object_id ]['allow_custom'] = $level->meta_value;
						break;
				}
			}

			wp_cache_set( 'default_visibility_levels', $default_visibility_levels, 'bp_xprofile' );
		}

		return $default_visibility_levels;
	}

Changelog

Changelog
Version Description
BuddyPress 1.6.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.