Adding columns to core tables

Two Problems

Problem #1 – You shouldn’t ever change the default schema that ships with WordPress. This schema might change in the future (entire tables could be dropped and re-built in an update).

Problem #2 – You shouldn’t really be creating new tables in the first place. If you create a new table with your plugin it might work just fine in a single installation. But what about Multisite? What if it’s network activated by mistake? Now you’re not creating 1 new table, but potentially thousands of new tables on some installations.

A Different Question

The question you should be asking isn’t of what to do with the tables, it’s where to store the data. Why not use a custom post type to store your custom data? There’s almost always another place to put your data that doesn’t require you to add tables to the database.