New answers tagged plugin-recommendation
Check out the Meta Box plugin. This plugin can do everything you asked, plus it's very easy to work with and to extend. The codebase is simple and you can understand it easily. It also has many extensions which can help you to improve the appearance of the fields, re-organize them in groups and many things.
Top 50 recent answers are included