Question

How do you delete created product attributes in Magento 2?

I can't get rid of it. I have couple of Magento product attributes which not needed

Was it helpful?

Solution

You can delete product attributes from below steps: Go to Admin, click on menu

Stores -> Product

You have display list of product attributes. Now click on attributes you want to delete, new attribute page will display, click on delete attribute button to delete. Thanks.

OTHER TIPS

If you do not see the delete attribute button then that means the table column 'is_user_defined' in the eav_attribute table is set to 0. By changing this to 1 it will show the delete button.

If you do not know where to go to find the attribute then you can follow the answers. In the admin Stores->Attributes->Products

If it's Product attributes Navigation in admin for delete Stores->Attributes click on Products here you can see all attributes just click on your select attribute and click on delete attribute button.

The eav_attribute table set from 0 to 1 worked perfectly. I had migrated from Magento 1 and had all these left over attributes that needed to be removed but I could not because when they were migrated they treated those attributes like system attributes and therefore could not delete.

That last comment changing the eav_attribute did the trick. Thanks.

You can remove unused product attributes in Magento 2 by using command line as well.

php bin/magento catalog:product:attributes:cleanup

Sees more details command line catalog:product:attributes:cleanup by using command line help or option -h:

php bin/magento help catalog:product:attributes:cleanup

OR use

php bin/magento catalog:product:attributes:cleanup -h

Let me know if you still have any issue.

In order to delete product attribute from backend navigate to

Stores -> Attributes -> Product

click on desired attribute and in next page you will see Delete Attribute button in the top bar, click on it to delete attribute.

If you do not see the delete attribute button then it means the table column 'is_user_defined' in the eav_attribute table is set to 0. By changing this to 1 it will show the delete button.

If you had migrated from Magento 1 then this attributes were considered as system attributes and therefore no delete attribute button is displayed in backend.

Run below query in database to set this value for multiple attributes

UPDATE `eav_attribute` SET `is_user_defined` = 1 WHERE attribute_code IN ('attribute_1','attribute_2');
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top