function field_delete_field

Marks a field and its instances and data for deletion.


$field_name: The field name to delete.

Related topics

8 calls to field_delete_field()
FieldCrudTestCase::testDeleteField in modules/field/tests/field.test
Test the deletion of a field.
field_delete_instance in modules/field/
Marks a field instance and its data for deletion.
FileFieldValidateTestCase::testFileExtension in modules/file/tests/file.test
Tests file extension checking.
FileFieldValidateTestCase::testFileMaxSize in modules/file/tests/file.test
Tests the max file size validator.
FileFieldValidateTestCase::testRequired in modules/file/tests/file.test
Tests the required property on file fields.

... See full list


modules/field/, line 411


function field_delete_field($field_name) {
    // Delete all non-deleted instances.
    $field = field_info_field($field_name);
    if (isset($field['bundles'])) {
        foreach ($field['bundles'] as $entity_type => $bundles) {
            foreach ($bundles as $bundle) {
                $instance = field_info_instance($entity_type, $field_name, $bundle);
                field_delete_instance($instance, FALSE);
    // Mark field data for deletion.
    module_invoke($field['storage']['module'], 'field_storage_delete_field', $field);
    // Mark the field for deletion.
        'deleted' => 1,
        ->condition('field_name', $field_name)
    // Clear the cache.
    module_invoke_all('field_delete_field', $field);

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.