The wordpress admin tables used on pages like www.example.com/wp-admin/edit.php uses a class class-wp-list-table.php
In this class there are two functions that hide specific table columns with {display: none;}
that can be seen at the following links:
wordPress/wp-admin/includes/class-wp-list-table.php
wordPress/wp-admin/includes/class-wp-list-table.php
Recently, I had been trying to improve the wordpress tables, working on a plugin addming fixed table headers and live filtering. I was using Jquery FilterTable which works awesome, along with a sticky header script.
Most sticky table header scripts clone the existing header when it reaches the top of the screen and fix it, while hiding the old one with css display:none or visibility:hidden. Everything can be seen here
Jquery Filter Table uses display: none as well to do it's live filtering by hiding the results not found in the users search.
For some reason these styles interfere with the class-wp-list-table when updating pages/posts. It causes display: none to become permanent. I thought it was a caching issue at first, however I disabled all my plugins and cleared my cache. I even went as far as reinstalling wordpress. I did first notice this after installing codepress-admin-columns but have deleted the plugin and it hasn't fixed anything.
display : none;
was embedded inline on several of the table headers and their relating columns
It seems like wordpress stores the values of all the table columns html, not just the values.
I know that it caches the tables for pagination, but I'm not really sure how this all occurs.
I'm wondering why this happened, but more importantly how can I fix the tables as it seems like they're stored/cached somewhere in the database? I've deactivated every plugin, Reset to the twenty-fourteen, ran the allow_repair script, and cleared all orphans/transients. I've cleared my server cache as well as my computers browser cache.
Image showing missing columns: