function field_access

7.x field.module field_access($op, $field, $entity_type, $entity = NULL, $account = NULL)

Determine whether the user has access to a given field.


$op: The operation to be performed. Possible values:

  • 'edit'
  • 'view'

$field: The full field structure array for the field on which the operation is to be performed. See field_info_field().

$entity_type: The type of $entity; e.g., 'node' or 'user'.

$entity: (optional) The entity for the operation.

$account: (optional) The account to check, if not given use currently logged in user.

Return value

TRUE if the operation is allowed; FALSE if the operation is denied.

Related topics

3 calls to field_access()
field_default_form in drupal/modules/field/
Creates a form element for a field and can populate it with a default value.
field_default_view in drupal/modules/field/
Builds a renderable array for one field on one entity instance.
file_file_download in drupal/modules/file/file.module
Implements hook_file_download().


drupal/modules/field/field.module, line 982
Attach custom data fields to Drupal entities.


function field_access($op, $field, $entity_type, $entity = NULL, $account = NULL) {
  global $user;

  if (!isset($account)) {
    $account = $user;

  foreach (module_implements('field_access') as $module) {
    $function = $module . '_field_access';
    $access = $function($op, $field, $entity_type, $entity, $account);
    if ($access === FALSE) {
      return FALSE;
  return TRUE;