Remove a custom field programmatically

Si en alguna ocasión, mientras estás en modo development, se te queda un campo rezagado y no hay manera de eliminarlo manualmente sin que ello implique una pantalla blanca . No te preocupes. Aquí te doy la solución.

Lo que debes hacer, te recomiendo usar la consola PHP que proporciona el módulo Devel, es ejecutar los siguientes métodos:

// Borra el "field storage".
\Drupal\field\Entity\FieldStorageConfig::loadByName('entity_type', 'field_name')->delete();

// Borra el campo en sí.
\Drupal\field\Entity\FieldConfig::loadByName('entity_type', 'bundle', 'field_name')->delete();

Acuérdate de sustituir «entity_type» por el nombre de la entidad que te interese. En mi caso, los problemas me surgieron con las taxonomías, así que yo ponía «taxonomy_term» porque adjuntaba campos personalizados a los términos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.