How to Allow Contributor to Upload Images in WordPress?

Lately, I started accepting guest post on Geek Flare, and one
of the first issues I countered about a registered user with
contributor role can’t upload images.

Are you in the same situation like I was?

Here is how I fixed it, and you can do it too.

Using Code

If you are comfortable in editing PHP file, then this is

  • Login to your WordPress server or if on shared hosting then go to
    cPanel >> File Manager
  • Traverse to the theme folder and add the following in
    functions.php file

Note: as a best practice, take a backup of the file
before modifying.

//Let Contributor Role to Upload Media
if ( current_user_can('contributor') && !current_user_can('upload_files') )
    add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
    $contributor = get_role('contributor');
  • Save the file and test by logging as a contributor role.
    You should see the “Add media” button or ability to upload the

If you don’t want to touch the file, then you can use the
plugin method.

Using WordPress plugin

User role editor plugin will
be handy to update the permission for contributor role.

  • Go to WordPress admin and install >> activate the

  • Navigate to Users >> User role editor
  • Select role as contributor
  • Select “upload_files” from list of the
    capabilities and click update

That should help contributor to add images to WordPress. I hope
this helps.


Leave a Reply

%d bloggers like this: