/**
 * Get a profile field object.
 *
 * @since 1.1.0
 *
 * @param int|object $field ID of the field or object representing field data.
 * @return BP_XProfile_Field|null Field object if found, otherwise null.
 */
function xprofile_get_field($field)
{
    if ($field instanceof BP_XProfile_Field) {
        $_field = $field;
    } elseif (is_object($field)) {
        $_field = new BP_XProfile_Field();
        $_field->fill_data($field);
    } else {
        $_field = BP_XProfile_Field::get_instance($field);
    }
    if (!$_field) {
        return null;
    }
    return $_field;
}
 /**
  * Retrieve a `BP_XProfile_Field` instance.
  *
  * @static
  *
  * @param int $field_id ID of the field.
  * @return BP_XProfile_Field|false Field object if found, otherwise false.
  */
 public static function get_instance($field_id)
 {
     global $wpdb;
     $field_id = (int) $field_id;
     if (!$field_id) {
         return false;
     }
     $field = wp_cache_get($field_id, 'bp_xprofile_fields');
     if (false === $field) {
         $bp = buddypress();
         $field = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$bp->profile->table_name_fields} WHERE id = %d", $field_id));
         wp_cache_add($field->id, $field, 'bp_xprofile_fields');
         if (!$field) {
             return false;
         }
     }
     $_field = new BP_XProfile_Field();
     $_field->fill_data($field);
     return $_field;
 }