Geekflare is supported by our audience. We may earn affiliate commissions from buying links on this site.
In WordPress Last updated: May 17, 2023
Share on:
Invicti Web Application Security Scanner – the only solution that delivers automatic verification of vulnerabilities with Proof-Based Scanning™.

WordPress has five primary user roles: Administrator, Editor, Contributor, and Subscriber. Each role has certain permissions and limitations when accessing certain data.

Who Is A Contributor?

In WordPress, a user who can create and edit posts but cannot publish them is known as a Contributor. They must submit or send contributions to an editor or admin with publication rights for evaluation.

Moreover, the Contributor role’s primary objective is to let people provide content on a site or blog without providing them complete editorial authority.

However, there are some processes admins can follow to provide additional access to their preferred role. Especially multi-author sites with many contributors may need to provide additional access to roles such as contributors because it will ensure smooth workflow and efficient content management.  

In this article, we will guide you through the process of allowing contributors to upload images in WordPress. Thus, admins will efficiently manage digital assets by simplifying media management for content creators and editors.  

Existing User Roles In WordPress 

WordPress offers five default and preconfigured user roles, each with a distinct set of capabilities:


Administrator: This is the highest level of user role that WordPress provides. Admins have full control over everything that happens on the website, including adding or removing users. 

Editor: Editors have all the administrative access except user management. They can publish and maintain posts, pages, and comments.

Author: Authors can write and publish their own posts, but they are unable to change or remove posts submitted by other users. Also, they are unable to use any administrative capabilities.    

Contributor: Contributors can carate and edit their own posts but don’t have permission to publish them. Moreover, they are restricted from using any administrative features.

Subscriber: Subscribers can only see the website’s content and edit their own profiles.

How to Edit Existing User Role 

You can edit the existing user role’s accessibility anytime you want. Basically, there are two methods to edit an existing user role:

#1. Edit User Role With Code

For this method, you need to edit your theme’s function.php file. Keep reading to learn more about how you can edit the function.php file. The following code snippet will let you add custom compatibility to existing user roles: 

function add_custom_capability_to_editor_role(){
$editor_role = get_role (  'editor'  ):
$editor_role -> add_cap (  'edit_theme_options'  );

The code snippet adds the edit_theme_options functionality for the “Editor” user role. You are allowed to customize this code to add or remove any functionality from an existing user role in WordPress. 

#2. Edit User Role Using Plugin

This method is easier compared to using code since everyone is not an expert in coding. You can install and activate the User Role Editor plugin and then edit the existing user role flexibly using this plugin. You will find the detailed process in the later part of this article. 


Privileges That Contributors Role Have

The default configuration of WordPress does not allow contributors to upload any media into the dashboard. As a result, they cannot upload their own media file such as images, videos, PDFs, etc. But here are the privileges a contributor gets in WordPress:

  • Can create and edit their own posts.
  • Submit their posts for reviews.  
  • View and edit comments on their posts.

Contributors are also restricted from publishing privileges, accessing plugins & themes, and user management. The contributor role is perfect for users who want to contribute to a WordPress site or blog without having complete editorial control. In this way, you are giving a voice while retaining editorial control. 

Why Assign a WordPress Contributor role?


Assigning a WordPress contributor role can help you in multiple ways, such as: 

Encouragement for Content Creation: By allowing contributors to make their own articles, you can motivate them to provide more content to your website.

Keeping Editorial Control:  Editors or Admins can keep editorial control over content by mandating that Contributors submit their content for evaluation.

Improving Content Quality: The site’s overall content quality is improved when numerous Contributors make contributions. That is because editors or Admins can choose the best material and publish it on the site.

Streamlining Workflow:  By separating the responsibilities for content development and publication, you may improve workflow using the Contributor role.  While Editors or admins focus on revising and publishing, contributors can develop more content. 

Providing Limited Access: By giving users the Contributor role, you can provide them limited access to your website. It lowers the possibility of accidental or deliberate content disruption.

A contributor role is valuable for managing content on a WordPress site. Thus, it sometimes becomes necessary to allow contributors to upload media files. Let’s explore the processes.

Allowing Contributors To Upload Images With Code 

If you are unwilling to install a WordPress plugin and make your site heavier, this method is for you. But you should be familiar with editing the theme file using PHP code. 

Here are the steps that you need to follow to allow contributors to upload images: 

  • Login to your WordPress website using the admin panel. 
  • If you use a shared hosting platform, Open your cPannel account and go to the File manager. 
  • When inside the File Manager, locate and open the Theme Folder. 
  • Now Open the function.php file within the theme folder.
  • Then add the following code snippet to the functions.php file. 
//Allow Contributors to upload images 
if ( current_user_can ('contributor') &&  ! current_user_can ('upload_files') ) {


function allow_contributor_uploads( ){
            $contributor = get_role( 'contributor');
            $contributor -> add_cap( 'upload_files');

  • Save the file to apply all the changes in it. 
  • Now log in as a contributor role. You will be able to upload images to your WordPress site’s post as a contributor. 

Allowing Contributors To Upload Images With Plugin

If you are not willing to spend your time coding, then read through this section. You can use the plugin named User Role Editor, which enables contributors to upload images in 

  • Login to your WordPress website using your credentials.
  • Go to Pluing>Add new and enter User Role Editor in the search bar.
  • Install and activate the User Role Editor Plugin.
  • Go to User > Users role editor.
  • In the User Role Editor dashboard, select Contributor (contributor) from the dropdown menu. 
  • Check mark the upload_files option and click update to save the changes. 

With User Role Editor, you can edit other existing user roles by following the abovementioned process.

Best Plugins To Edit User Roles

Here are some more plugins which you can utilize to edit user roles in your WordPress website

#1. Members

This popular WordPress plugin for handling user roles and permissions is called Members. It offers a simple, user-friendly interface for setting up and modifying user roles. Also, as an admin, you can manage who has access to what on your website.


Key Features:

  • Create and customize the user roles and capabilities
  • Manage access to menu elements, widgets, and other site features 
  • Set permissions for posts, pages, custom post types, and more.
  • Assign multiple roles for the users 
  • Import & export different user roles and their capabilities

#2. Advanced Access Manager

Advanced Access Manager is a robust and feature-packed plugin for managing user roles and permissions in WordPress. It offers an advanced set of tools for managing access to content and features such as role-based permissions, access restrictions, and content visibility settings. 


Key Features: 

  • Create and edit user roles and their access permissions
  • Control access to posts, pages, custom post types, and other content
  • Restrict access to specific sections of your site, such as the WordPress dashboard
  • Set up role-based permissions for different user groups
  • Define content visibility settings based on user roles and capabilities

#3. WP User Manager 

WP User Manager is a flexible WordPress plugin for user management. It provides several tools for controlling user roles, permissions, and profiles. A variety of add-ons are available in this plugin that expands its capabilities. Additionally, it offers a customized interface for establishing and updating user roles.


Key Features: 

  • Edit user roles and their accessibility to different functionality 
  • Restrict content for designated users 
  • Enable users to update their passwords from their own account page 
  • Craft customized user fields and profiles 
  • Addons available for user directories, user integration forms, and user listing

#4. WPFront User Role Editor

WPFront User Role Editor is a powerful yet user-friendly tool for managing user roles and permissions. It offers a simple UI that makes it easy to establish and edit user roles. Additionally, a variety of add-ons are available that extend its functionalities. 

Features like user role redirection, user role synchronization, and multisite compatibility make it a versatile option for user role permission control. 


Key Features: 

  • Restrict access to specific posts, pages, and custom post types
  • Restrict access to specific parts of the WordPress admin dashboard
  • Create and edit new roles according to your preference 
  • Clone any existing user role 
  • Restore user role permissions 
  • Bulk-assign multiple roles to selected users

Final Words 

Now, contributors will be able to upload images or media fines to your WordPress site. However, remember that using a plugin can be an easy process to alter the user roles in WordPress. But you should be careful about installing new or too many plugins on your site.

We’ve also added some of the best plugins to edit, customize, and control the user roll permission. But don’t forget to do your homework on these plugins before installing one on your WordPress site. You can test them on a staging site before placing them on a live site.

Next, check out the beginner’s guide to building a WordPress website.

  • Atanu Das
    Atanu Das is a professional content writer with experience writing SEO-optimized creative content in different niches. He is actively writing effective content for tech companies to expand their business to the next level. He has completed… read more
Thanks to our Sponsors
More great readings on WordPress
Power Your Business
Some of the tools and services to help your business grow.
  • Invicti uses the Proof-Based Scanning™ to automatically verify the identified vulnerabilities and generate actionable results within just hours.
    Try Invicti
  • Web scraping, residential proxy, proxy manager, web unlocker, search engine crawler, and all you need to collect web data.
    Try Brightdata
  • is an all-in-one work OS to help you manage projects, tasks, work, sales, CRM, operations, workflows, and more.
    Try Monday
  • Intruder is an online vulnerability scanner that finds cyber security weaknesses in your infrastructure, to avoid costly data breaches.
    Try Intruder