Define field types.

In the Field API, each field has a type, which determines what kind of data (integer, string, date, etc.) the field can hold, which settings it provides, and so on. The data type(s) accepted by a field are defined in hook_field_schema(); other basic properties of a field are defined in hook_field_info(). The other hooks below are called by the Field Attach API to perform field-type-specific actions.

The Field Types API also defines two kinds of pluggable handlers: widgets and formatters. Widgets specify how the field appears in edit forms, while formatters specify how the field appears in displayed entities.

A third kind of pluggable handlers, storage backends, is defined by the Field Storage API.

See Field API for information about the other parts of the Field API.

Parent topics

File

core/modules/field/field.api.php, line 87
Hooks provided by the Field module.

Functions

Name Locationsort descending Description
hook_field_extra_fields core/modules/field/field.api.php Exposes "pseudo-field" components on fieldable entities.
hook_field_extra_fields_alter core/modules/field/field.api.php Alter "pseudo-field" components on fieldable entities.
hook_field_info core/modules/field/field.api.php Define Field API field types.
hook_field_info_alter core/modules/field/field.api.php Perform alterations on Field API field types.
hook_field_schema core/modules/field/field.api.php Define the Field API schema for a field structure.
hook_field_schema_alter core/modules/field/field.api.php Allow modules to alter the schema for a field.
hook_field_load core/modules/field/field.api.php Define custom load behavior for this module's field types.
hook_field_prepare_view core/modules/field/field.api.php Prepare field values prior to display.
hook_field_validate core/modules/field/field.api.php Validate this module's field data.
hook_field_presave core/modules/field/field.api.php Define custom presave behavior for this module's field types.
hook_field_insert core/modules/field/field.api.php Define custom insert behavior for this module's field data.
hook_field_update core/modules/field/field.api.php Define custom update behavior for this module's field data.
hook_field_storage_update_field core/modules/field/field.api.php Update the storage information for a field.
hook_field_delete core/modules/field/field.api.php Define custom delete behavior for this module's field data.
hook_field_delete_revision core/modules/field/field.api.php Define custom revision delete behavior for this module's field types.
hook_field_prepare_translation core/modules/field/field.api.php Define custom prepare_translation behavior for this module's field types.
hook_field_is_empty core/modules/field/field.api.php Define what constitutes an empty item for a field type.
hook_field_display_alter core/modules/field/field.api.php Alters the display settings of a field before it gets displayed.
hook_field_display_ENTITY_TYPE_alter core/modules/field/field.api.php Alters the display settings of a field on a given entity type before it gets displayed.
hook_field_extra_fields_display_alter core/modules/field/field.api.php Alters the display settings of pseudo-fields before an entity is displayed.
hook_field_access core/modules/field/field.api.php Determine whether the user has access to a given field.
hook_field_settings_form core/modules/field_ui/field_ui.api.php Add settings to a field settings form.
hook_field_instance_settings_form core/modules/field_ui/field_ui.api.php Add settings to an instance field settings form.