On this page
function field_delete_field
field_delete_field($field_name)
Marks a field and its instances and data for deletion.
Parameters
$field_name: The field name to delete.
Related topics
File
- modules/field/field.crud.inc, line 411
- Field CRUD API, handling field and field instance creation and deletion.
Code
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.
db_update('field_config')
->fields(array('deleted' => 1))
->condition('field_name', $field_name)
->execute();
// Clear the cache.
field_cache_clear(TRUE);
module_invoke_all('field_delete_field', $field);
}
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!field!field.crud.inc/function/field_delete_field/7.x