Обычно такой код требуется писать в файлах .install, для модификации структуры ваших полей при обновлении модуля, чтобы не проделывать эту операцию вручную. Также предварительно стоит подумать о переносе данных из удаляемого поля в какое то новое место.
Рассмотрим небольшой кусочек кода:
1 2 3 4 5 6 7 8 |
// список имен полей $fields_to_delete = array('field_fieldname1', 'field_fieldname2', ..., 'field_fieldnameN'); // удаляем поля из entity node:page foreach ($fields_to_delete as $field_name) { $field = field_info_instance('node', $field_name, 'page'); field_delete_instance($field); } |
Для удаления используется функция — field_delete_instance, которой нужно передать информацию об удаляемом поле. Для получения информации о поле — field_info_instance, требуется знать его т.н. machine name и данные об entity — тип (entity_type) и подтип (bundle).