I never noticed this before, but it appears that the Contributor Role in WordPress does not come with ability to upload files to an instance. That’s slightly weird, given that most users will probably assign this role to users who shall be able to write content for a site, and with good content inevitably come images in this day and age.
According to WordPress, the roles included with WordPress are mere examples or “capability collections” so to speak, and we’re free to create our own, or add/remove capabilities from any role if we so desire. I did some digging and found out how that the add_cap() and remove_cap() functions do just that.
In this article I’ll show you how to add the upload_files() capability to the Contributor Role, without the need for yet another plugin.
Read more