For a business association website, I've built a membership database using a custom post type. Businesses sign up with an online form, which creates a custom post for that business, and when the administrator receives the new member's dues, she creates a WordPress user for that business and makes that user the author of the post. This is so that the business can update the business's information when necessary.
The problem is that this scheme allows the business to also update some fields that they really shouldn't be able to update, such as the expiration date. So, what I want to do is to either hide those fields or make them uneditable when the author edits the posts, but editable when a WP admin edits the post.
Does anyone know a way to do this?