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

Determine whether the user has access to a given field.


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

  • 'edit'
  • 'view'

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

string $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


core/modules/field/field.module, line 1271
Attach custom data fields to Backdrop 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;