490 votesRichard Meldner commented
For this function to be really useful, it needs to work a bit like Magento. In Magento you can define attribute groups and each product then is assigned an attribute group. Once a user makes a change to an attribute group, that change is now live on all products with that group. So for example, if you decide you no longer need an attribute and delete it from the attribute group, it is now no longer available on every product that uses that attribute group. Same if you had or rearrange the order of attributes within the group.
This is a functional rethink of the way it is right now done in WooCommerce where you have "global" attributes and "local" attributes. When you delete a global attribute, it does not change the local attribute data per say. It is still there and actually leads to a lot of potentially orphaned data.
IMO, this is one of the more baffling issues where WooCommerce lags behind Magento. I think if WooCommerce would do a rethink (which I believe would require a core change as you will need new tables to manage this), by moving all attribute management to one place and then be able to manage attribute groups from there. In essence, the meta data stored for each product would only be the group name (id), while the values would be stored in a data table in the db by group ID.Richard Meldner supported this idea ·